Homebrew GCMM 1.1

suloku

Well-Known Member
OP
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
http://code.google.com/p/gcmm/

UPDATE (08 october 2012): GCMM 1.4 available. Icon animation! Restore all saves!
UPDATE: GCMM 1.3 available. F-zero and Phantasy Star Online support! Lots of thanks to Ralf!
Check out Raw Tools if you are interested in restoring a raw image to a different card: http://code.google.c.../wiki/Raw_Tools

How to use Raw Mode
Raw mode is triggered by button combinations, the on screen information may be a little cryptic

For wii:
Hold B button then:

Raw backup: press minus
Raw restore: press plus
Format card: press 2


For gamecube:
Hold L trigger then:

Raw backup: press Y
Raw restore: press X
Format card: press Z


[What's New 1.4 - october 08, 2012 - By suloku]
* Animated icon alongside several (minor) graphical improvements
* Ability to select SD Gecko slot in GameCube mode (just like Wii mode SD/USB prompt)
* Moved "Backup All" to Backup Mode (press R/1 when in Backup Mode)
* Added an analog "Restore All" in Restore Mode (overwriting is supported)
* Shows filename when prompted to overwrite (also in "Restore All")
* Savegame permisions are shown in a more explicit and user friendly way
* Shows memory card freeblocks
* Page number display in file selector
* Left and right now scroll 5 file entries at once
* Scrolling of file entries can be done holding the button (up/down/left/right)
* Added security checks to Raw Restore Mode
* Added some special characters to the font (needed for savegame comments)
* Minor code tweaks

Lots of thanks to bm123456 and themanuel for beta testing and support!

[What's New 1.3 - september 14, 2012 - By suloku]

* Shows card/image serial number in Raw Restore Mode
* F-zero and Phantasy Star Online Ep I&II and Phantasy Star Online III savegames
are patched uppon restoring so they will work on target card (by Ralf)

[What's New 1.2d - september 08, 2012 - By suloku]

* Previous version couldn't raw backup if backup folder didn't exist in sd/usb
* Added (double)overwrite prompt when restoring a savefile to memory card (Nano/Excelsiior's idea)
* Updated graphics so raw mode commands are less cryptic (wii mode design based on JoostinOnline's for GCMM+)
* Use DejavuSans as font (much better readability) from GCMM+ by Nano/Excelsiior

[What's New 1.2c - september 06, 2012 - By suloku]

* Raw backups are now named with the number of blocks: insted of Backup_*timestamp*.raw now it is 0059b_*timestamp.raw, 2043b_*timestamp.raw...
* Minor code changes (just for safety)

[What's New 1.2b - september 06, 2012 - By suloku]

* Solved a potential bug, 1.2 and 1.2a seemed unaffected by it.

[What's New 1.2a - september 06, 2012 - By suloku]

* 1.2 wasn't correctly freeing memory and eventually raw backup and restore would hang the app (a 2043 block card would make it hang at the second attempt to raw backup the card)

[What's New 1.2 - september 06, 2012 - By suloku]

* Added raw backup mode (in .raw format, compatible with dolphin and devolution)
* Added RAW/GCP/MCI support for raw restore mode
* Added format mode
* Flash ID of inserted card and SD image are shown in Raw Restore Mode
* Protection against writing a raw image to the wrong card (trough Flash ID checking)
* Raw mode works with official and unofficial cards, as well as gci mode (thanks to tueidj for pointing me in the right path!)

______________________________________________________

This is something I started long ago and I really wanted to have a fully working version, with no issues with official cards, proper restoring... (protected savegames like F-zero and PSO aside).

I tested a USA savegame of Tales of Symphonia, downloaded from gamefaqs, then converted it to PAL and restored to my official 251block card (card was blank and I never played ToS before). Worked perfectly.
Also tried a downloaded Luigi's Mansion savegame, also working on the same card.

Great novelty: Banner and Icon showing!
Also added usb device support and memory card slot selection for wii mode!
"Unlimited" gci backups (via number suffix, so your precious savegame isn't overwriten. If you don't need a gci anymore, delete it trough computer!)

note: 2 of my usb devices didn't work, but those same devices make the homebrew channel code dump, so if your device doesn't work, try another one.

ps: just to clarify, this isn't based on GCMM+, I won't say I dind't look at its source, but I didn't copy any of it. I really apreciate Excelsiior for his work, but as I stated, this is something I started long ago and I felt I had to do it myself.

Changelog:
[What's New 1.1 - august 29, 2012 - By suloku]

* Icon and banner by dronesplitter!
* Added USB-SD selection in wiimode (only at boot)
* Added card slot selection (wii mode only)
* Propper GCI backup and restore. Now GCMM uses __card_getstatusex and __card_setstatuex, which provide a more 1:1 backup/restore
* Correctly displaying savegame Date information
* Savegame information rearranged.

Accepted PlabloACZ and Picachu025 modifications, with the following changes:
* Tweaked mount function
* Filenames are no longer prefixed with a number for current sesion. Instead, savegames are suffixed with a number. When backing up a savegame if the same file exists on SD it will be prefixed with a growing number (if savegame_00.gci exists, then it will try savegame_01.gci, savegame_02.gci... and so on)
* Infinite loop can't happen when backupping a savegame as in r11 MOD 2.

[What's New r11 MOD 2 - September 11, 2011 - By Pikachu025]
* R (GC-Pad) / 1 (Wiimote) now launches a "backup all" mode, where all saves on the memory card are written to the SD card without any user prompts in the meantime.
* I came across a couple saves that had ridiculous filenames that refused to write to SD, so if the program comes across one of those, it'll now write them out as "illegal_name" instead of the actual filename.
* Filenames written to SD are now prefixed with a number, counting up from 1 for every file written during the current session. I added this since I had multiple files that resulted in the same filename.
* I also added a small check if the file was written correctly. If not, it'll retry. This probably results in an infinite loop when your SD card doesn't have enough free space, so ensure that I guess.
* I also (quite shoddily) edited the image listing all the options to add the new option, it's ugly but does its job. Feel free to fix, I don't have Photoshop or anything here.

[What's New r11 MOD - September 09, 2011 - By PabloACZ]
* SDGetFileList() function in sdsupp.c updated to reflect the changes in DevKitPPC/libogc from the last three years (diropen, dirnext and dirclose commands were replaced with opendir, readdir and closedir, respectively).
* Modified the MountCard() function in mcard.c to perform a probe on the GC Memory Card slot, to make sure it was mounted properly.
* Improved the compatibility with GCS/SAV files with the patch posted by jcwitzel in December 2009 (http://code.google.c...detail?id=1#c25).
* The Makefiles were modified to include the zlib in the libraries section. It seems that the latest libFreeType PPC port needs it to work.
* **Hopefully** Added compatibility with Official GameCube Memory Cards (see this: http://devkitpro.svn...n&revision=4049). According to a friend of mine, it works with a 256 blocks Memory Card.
* Compiled with DevKitPPC r24, libogc 1.8.8, libfat 1.0.10 and libFreetype 2.4.2.
 

Dogway

Well-Known Member
Member
Joined
Aug 16, 2010
Messages
216
Trophies
1
XP
235
Country
Thank you!! A year ago I bought F-Zero game and official memcard just to overcome the game saves hazard, and now I realize that an unofficial card would have been way better. Anyways, I will test your tool, MCBACKUP wasn't working at all.
 

suloku

Well-Known Member
OP
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
For F-zero you still need an unofficial card, see ctr-gcs 0.3a thread.

There's also AR cheat codes that enable F-zero savegame to be copied and used in a different memory card
 

Dogway

Well-Known Member
Member
Joined
Aug 16, 2010
Messages
216
Trophies
1
XP
235
Country
Yes, I was reading there, I just got to the conclusion that you can take out the saves, but you can't restore them back.

I think I misread your first line, this one can manage everything "except" protected savegames.

Sorry for that, but still valuable so I will use!.
 

suloku

Well-Known Member
OP
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
Yes, I was reading there, I just got to the conclusion that you can take out the saves, but you can't restore them back.

No, you can restore to protected savegames either by:
- Unofficial memory card (either by gci+header or by writing a raw image) --> this is only handled by ctr-gcs 0.3a at the moment, I may add raw/header functions in the future (with proper checks to prevent restoring wrong headers to official memory card)
- The SAME card (official or not) the savegame was backuped from IF the card hasn't been formatted since.

Note that even if you format a memory card the .hdr file extracted by ctr-gcs will work in the same card EVEN if it is an official one, so actually you can backup your, say, f-zero .gci and memcard's .hdr from official card, format the card, and that f-zero savegame will still work on that card as long as the header is restored too.

thanks it worked fine in my official 251 mc :)

Good to know!
 

Augusta

Well-Known Member
Member
Joined
Aug 14, 2011
Messages
135
Trophies
1
XP
267
Country
Canada
-DL'd a Skies of Arcadia Save file (.gci format)
-Put GCMM on my SD
-Created a folder called 'MCBACKUP' on the root of the SD
-Restored the .gci file to both the A and B slot of my official memory cards (Gray 59 Blocks/Black 251 Blocks)
-Checked Saved files in Gamecube Settings and they were there
-Booted up SoA and both saves were on their respective memory cards
-Saves loaded flawlessly
EDIT: Would also like to mention I was able to backup my own save files as well flawlessly.
I couldn't do any of this on the previous version because my MC's were official.

Awesome work Suloku!!
 

suloku

Well-Known Member
OP
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
-DL'd a Skies of Arcadia Save file (.gci format)
-Put GCMM on my SD
-Created a folder called 'MCBACKUP' on the root of the SD
-Restored the .gci file to both the A and B slot of my official memory cards (Gray 59 Blocks/Black 251 Blocks)
-Checked Saved files in Gamecube Settings and they were there
-Booted up SoA and both saves were on their respective memory cards
-Saves loaded flawlessly
EDIT: Would also like to mention I was able to backup my own save files as well flawlessly.
I couldn't do any of this on the previous version because my MC's were official.

Awesome work Suloku!!

It's good to see that restoring properly works for more people and different games!
 

bm123456

Well-Known Member
Member
Joined
Jun 7, 2011
Messages
576
Trophies
1
Age
46
Location
Houston
XP
1,312
Country
United States
-DL'd a Skies of Arcadia Save file (.gci format)
-Put GCMM on my SD
-Created a folder called 'MCBACKUP' on the root of the SD
-Restored the .gci file to both the A and B slot of my official memory cards (Gray 59 Blocks/Black 251 Blocks)
-Checked Saved files in Gamecube Settings and they were there
-Booted up SoA and both saves were on their respective memory cards
-Saves loaded flawlessly
EDIT: Would also like to mention I was able to backup my own save files as well flawlessly.
I couldn't do any of this on the previous version because my MC's were official.

Awesome work Suloku!!

It's good to see that restoring properly works for more people and different games!

Needing any Beta testers for your memory apps, I'm game just send me a Pm or post . :) thank you for looking into these GC memory mangers again.
 

suloku

Well-Known Member
OP
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
lol yeah "awesome" work fixing official memory cards :P

There must be a bug somewhere, I can't find the reason why restoring to unofficial cards works while doing so to official cards corrupts them (actually, data isn't writen properly, the only thing I got to write properly are 00 bytes, and I think it works because the sector is erased before writing...)

I'm about to give up on this, too much time invested and yet again I don't have the knowledge needed to fix it. I hope one day someone looks into it and gets it working.

At least, thanks to tueidj we can restore gci files to official cards!
 

tueidj

I R Expert
Member
Joined
Jan 8, 2009
Messages
2,569
Trophies
0
Website
Visit site
XP
999
Country
When a sector is erased it should become full of 0xFFs, then the writing process actually "removes" the bits that aren't needed. There shouldn't be any differences for the writing process between official and unofficial cards though.
 
  • Like
Reactions: bm123456

suloku

Well-Known Member
OP
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
When a sector is erased it should become full of 0xFFs, then the writing process actually "removes" the bits that aren't needed. There shouldn't be any differences for the writing process between official and unofficial cards though.

EDIT: OK, now that was very useful information. I didn't know that the byte needs to be set to 0xFF in order to properly write to the card. I saw that libogc erased the sector before writing, but I didn't think it was a requirement before writing.

I've implemented __erasesector and official cards are properly restored now, or at least my tests confirm it. I think I can finally say that GCMM is complete, or as complete as I wanted it to be (still missing hotswapping, but hey, just reboot the app...)

Thank you very much tueidj!

ps: maybe unofficial cards erase the sector before writing automagically and that's why they worked...
 
  • Like
Reactions: bm123456

suloku

Well-Known Member
OP
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
Updated to 1.2a, there was a "bug" carried over from ctr-gcs.

EDIT: updated to 1.2b, I forgot to change something in a function, it shouldn't affect the app in any way, but let's be safe...
 
  • Like
Reactions: 2 people

suloku

Well-Known Member
OP
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
how can you make a raw backup with this app? I mean the app create a memorycardA.raw file, not .gci

The graphical update was a bit quick, you may notice the "L/B+ Raw Mode" on top, that means you must keep pressed the L trigger or B button and then press the backup/restore/delete button. The combos are in the readme as well, anyway:

For wii:
Hold B button then:

Raw backup: press minus
Raw restore: press plus
Format card: press 2


For gamecube:
Hold L trigger then:

Raw backup: press Y
Raw restore: press X
Format card: press Z

It won't create "MemoryCardX.raw", but rather something like
The restore mode has a file selector, which will indicate the size of the image (in blocks), its flash id, and the same data for the memory card.
 
  • Like
Reactions: 1 person

suloku

Well-Known Member
OP
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
I've updated it to 1.2c, I wasn't going to post it (only to svn) but I decided to.

I've changed the names of the raw backup, insted of backup it will write the number of blocks (just thought it is a more useful information than just "Backup".
Also there's a message when reading the file, I noticed that in gamecube mode when reading a 16 megabyte raw image it seems like the program crashed (because it's slow).
And some code-wise changes.

Basically, 1.2c works just as well as 1.2b, but 1.2c is fancier ^^

(This is the last update, I promise!)

EDIT: uh... I didn't keep my promise, 1.2d is available!

Just some fancy things



[What's New 1.2d - september 08, 2012 - By suloku]

* Previous version couldn't raw backup if backup folder didn't exist in sd/usb
* Added (double)overwrite prompt when restoring a savefile to memory card (Nano/Excelsiior's idea)
* Updated graphics so raw mode commands are less cryptic (wii mode design based on JoostinOnline's for GCMM+)
* Use DejavuSans as font (much better readability) from GCMM+ by Nano/Excelsiior


Thank Excelsiior and JoostinOnline for this one ^^, it really does look way better with the new font
 
  • Like
Reactions: 1 person

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: though my mom has documents here on my pc