From 857b1996bbae8a6ba6a012c1d8b6fa204f7897aa Mon Sep 17 00:00:00 2001 From: sulokutdcmago Date: Wed, 31 Dec 2008 17:52:51 +0000 Subject: [PATCH] --- hbc/icon.png | Bin 0 -> 7489 bytes hbc/meta.xml | 17 +++++++ readme.txt | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 154 insertions(+) create mode 100644 hbc/icon.png create mode 100644 hbc/meta.xml create mode 100644 readme.txt diff --git a/hbc/icon.png b/hbc/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ae4b13a6adfdd505cd569674672ff7a93c1886bf GIT binary patch literal 7489 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 + + GCMM + Suloku + 1.0 + 20081231 + Memory Card Manager + + + A memory card manager for Wii/GC. + + Thanks to original mcbackup example code, Askot, dsbomb and justb. + Special thanks to Costis, Masken and Tantric. + + + + diff --git a/readme.txt b/readme.txt new file mode 100644 index 0000000..1d639b6 --- /dev/null +++ b/readme.txt @@ -0,0 +1,137 @@ +ח–­—–­—–­—–­ –­—–­—–­—–­—–­—–­—–­—–­—–­—–­— ­—–­—–­—–­—–­—–­—–­—–­—-­—–­-–•Ĵ +|0O×ĝo· GCMM 1.0 ·oĝ×O0| +| http://code.google.com/p/gcmm | +| (Under GPL License) | +`¨•¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨' + +GameCube/Wii Memory Manager is an aplication to backup Nintendo GameCube savegames. + +Gcmm is a project started by dsbomb and justb, which is based on Askot's modification to add SD support to the mcbackup libogc example. + +I (suloku) have updated the code to newest libraries to port it to the Wii system, and what I find more important: restoring savegames now works properly. + +ח–­—–­—–­—–­ –­—–­—–­—–­—–­—–­—–­—–­—–­—–­— ­—–­—–­—–­—–­—–­—–­—–­—-­—–­-–•Ĵ +|0O×ĝo· FEATURES ·oĝ×O0| +`¨•¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨' +* Backups and restores savegames into GCI format +* Deletes savegames from slot B memory card +* Wiimote and GameCube controller support +* Power button support +* Front SD (wii) and SDGecko (gc) support +* A nice UI +* Open Source! + +ח–­—–­—–­—–­ –­—–­—–­—–­—–­—–­—–­—–­—–­—–­— ­—–­—–­—–­—–­—–­—–­—–­—-­—–­-–•Ĵ +|0O×ĝo· UPDATE HISTORY ·oĝ×O0| +`¨•¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨' + +[What's New 1.0 - December 31, 2008] +* Updated to libfat +* Added Wii support +* Fixed restore bug (yes, savegames will restore properly) +* New background +* Support for interlaced and widescreen in all regions +* Delete mode (dsbomb&justb) +* Shows the savegame information (mostly by dsbomb&justb) +* Many other fixes/modifications for the user + +ח–­—–­—–­—–­ –­—–­—–­—–­—–­—–­—–­—–­—–­—–­— ­—–­—–­—–­—–­—–­—–­—–­—-­—–­-–•Ĵ +|0O×ĝo· TO DO ·oĝ×O0| +`¨•¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨' +* Add icon and banner display for the savegames +* Add raw image read and write support +* Add hotswapping + +ח–­—–­—–­—–­ –­—–­—–­—–­—–­—–­—–­—–­—–­—–­— ­—–­—–­—–­—–­—–­—–­—–­—-­—–­-–•Ĵ +|0O×ĝo· LIMITATIONS ·oĝ×O0| +`¨•¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨' + Wii +---------- +Currently only third party memory cards work due to some changes in wii mode still not handled by libogc. + + Protected Savegames +-------------------------- +Protected gamesaves will only be able to be restored on the card it was backuped from. Even though, some protected savegames will still not work as some save protection rely in the situation of the gamesave on the memory card. + +Protected savegames rely on the serial ID that is given to the memory card when it is formated. That's why they won't work in other cards and why they won't work on the same card if that has been formatted. + +Restoring a raw image to a diferent card has still to be tested to see if that will permit using a protected gamesave on another memory card. + + Other savegame formats +---------------------------- +There are computer programs that can transform other savegame formats into GCI. + +GCP format is a raw savegame image of the memory card. At the moment creating a raw image is possible thanks to Masken, but there are still problems when restoring. + + +ח–­—–­—–­—–­ –­—–­—–­—–­—–­—–­—–­—–­—–­—–­— ­—–­—–­—–­—–­—–­—–­—–­—-­—–­-–•Ĵ +|0O×ĝo· SETUP & INSTALLATION ·oĝ×O0| +`¨•¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨' + +Unzip the archive. You will find the following folders inside: + +apps Contains Homebrew Channel ready files + (see Homebrew Channel instructions below) + +gamecube Contains GameCube DOL file (not required for Wii) + + + Wii +---------- +On the Wii, the savegames will be read from and written to the front SD slot. +Memory card should be in slot B. + + + Gamecube +------------ +On the GameCube you will need a Gecko SD adapter in the slot A and place the memory card on slot B. + +------------------------------ +Loading / Running the app: +------------------------------ + +Wii - Via Homebrew Channel: +-------------------- +The most popular method of running homebrew on the Wii is through the Homebrew +Channel. If you already have the channel installed, just copy over the apps folder +included in the archive into the root of your SD card. + +If you haven't installed the Homebrew Channel yet, read about how to here: +http://hbc.hackmii.com/ + +Gamecube: +--------- +You can load gcmm via sdload and an SD card in slot A, or by streaming +it to your Gamecube, or by booting a bootable DVD with gcmm on it. +This document doesn't cover how to do any of that. A good source for information +on these topics is the tehskeen forums: http://www.tehskeen.com/forums/ + +ח–­—–­—–­—–­ –­—–­—–­—–­—–­—–­—–­—–­—–­—–­— ­—–­—–­—–­—–­—–­—–­—–­—-­—–­-–•Ĵ +|0O×ĝo· CONTROLS ·oĝ×O0| +`¨•¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨' + +They are shown at the screen. + +ח–­—–­—–­—–­ –­—–­—–­—–­—–­—–­—–­—–­—–­—–­— ­—–­—–­—–­—–­—–­—–­—–­—-­—–­-–•Ĵ +|0O×ĝo· COMPILING ·oĝ×O0| +`¨•¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨' +Currently gcmm uses: + +*DevkitPPC r15: http://sourceforge.net/project/showfiles.php?group_id=114505&package_id=124208&release_id=306949 +*libOGC with Hermes patches: http://gcmm.googlecode.com/files/devkitPro_Wii_by_Hermes.rar +*libfreetype 2.3.7 port by Tantric: http://www.tehskeen.com/forums/showthread.php?t=9404 + +ח–­—–­—–­—–­ –­—–­—–­—–­—–­—–­—–­—–­—–­—–­— ­—–­—–­—–­—–­—–­—–­—–­—-­—–­-–•Ĵ +|0O×ĝo· CREDITS ·oĝ×O0| +`¨•¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨' + +*SoftDev for his contributions to the GC/WII scene +*Costis for helping with some doubts, he's allways there +*Masken for his code on raw data reading/writing +*Justb & dsbomb for originally creating gcmm +*CowTRobo & Samsom for very useful old sources +*Tantric for pointing out that official memory cards won't work on wii mode, which encouraged me to continue gcmm as all my previous efforts where in vane due to using an official card for the testing. + +ח–­—–­—–­—–­ –­—–­—–­—–­—–­—–­—–­—–­—–­—–­— ­—–­—–­—–­—–­—–­—–­—–­—-­—–­-–•Ĵ +|0O×ĝo· ·oĝ×O0| +`¨•¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨' \ No newline at end of file