Swiss future Memory Card Manager feature
Swiss future Memory Card Manager feature
Hello.
I don't know if this is the correct place to post this.
I know it will take a while to see this feature, but I want to talk about the error I researched and found on current memory card backup and restoring apps (especifically GCMM and it seems Dolphin emulator too). I hope this error can be prevented in the development of this feature in Swiss.
The memory card (*.gci) header starts at 0x0, actual game save data starts at 0x40.
What happens it's that most memory card saves (*.gci) have the description strings at 0x40, at the beginning of the actual game save data. The memory card header stores address of those strings in the game data as 0x0 in 0x3c with 0x4 length. So, when loading the strings, if the offset is 0x0 GC will load the strings from 0x40.
The problem it's that there are a few games that doesn't store the strings at 0x0 (0x40). My game it's Zelda Twilight Princess Japanese version. It stores the strings at 0x2400 (0x2440). When GCMM and I think Dolphin emulator too tries to restore the data on the memory card the data gets corrupted because by some reason I don't know, they save the 0x3c string offset as 0xFFFFFFFF, that address doesn't exist so I think the GC IPL captures the I/O error and just don't show strings nor banner and icon. Would it be that this 0x3c register is ignored and GCI restoring code just assumes it will be always 0x0.
I noticed this because I backed up a save, then restored it with GCMM, it appeared corrupted, backed up the corrupted save, then took both save files and erased the header. Finally I 7-zipped both files without header and they had the same CRC check. So the corruption happens in the header, at 0x3c. I think Dolphin emu have the same error because if I restored the GCI on a blank .raw MC file it appeared exactly as it does on the GC, without the strings, banner and icons.
I will attach my memory card files where I did the research.
UPDATE: The Dolphin error doesn't seem to be this one but may be related to the 0x3c offset. I exported a corrupted restored save in dolphin and noticed that from address 0x2040 everything is erased by putting "00" on each byte. I will talk about this issue on Dolphin Emulator forums later.
I don't know if this is the correct place to post this.
I know it will take a while to see this feature, but I want to talk about the error I researched and found on current memory card backup and restoring apps (especifically GCMM and it seems Dolphin emulator too). I hope this error can be prevented in the development of this feature in Swiss.
The memory card (*.gci) header starts at 0x0, actual game save data starts at 0x40.
What happens it's that most memory card saves (*.gci) have the description strings at 0x40, at the beginning of the actual game save data. The memory card header stores address of those strings in the game data as 0x0 in 0x3c with 0x4 length. So, when loading the strings, if the offset is 0x0 GC will load the strings from 0x40.
The problem it's that there are a few games that doesn't store the strings at 0x0 (0x40). My game it's Zelda Twilight Princess Japanese version. It stores the strings at 0x2400 (0x2440). When GCMM and I think Dolphin emulator too tries to restore the data on the memory card the data gets corrupted because by some reason I don't know, they save the 0x3c string offset as 0xFFFFFFFF, that address doesn't exist so I think the GC IPL captures the I/O error and just don't show strings nor banner and icon. Would it be that this 0x3c register is ignored and GCI restoring code just assumes it will be always 0x0.
I noticed this because I backed up a save, then restored it with GCMM, it appeared corrupted, backed up the corrupted save, then took both save files and erased the header. Finally I 7-zipped both files without header and they had the same CRC check. So the corruption happens in the header, at 0x3c. I think Dolphin emu have the same error because if I restored the GCI on a blank .raw MC file it appeared exactly as it does on the GC, without the strings, banner and icons.
I will attach my memory card files where I did the research.
UPDATE: The Dolphin error doesn't seem to be this one but may be related to the 0x3c offset. I exported a corrupted restored save in dolphin and noticed that from address 0x2040 everything is erased by putting "00" on each byte. I will talk about this issue on Dolphin Emulator forums later.
- Attachments
-
- ZeldaTPJ_MCResearch.7z
- A Zelda TP JP Memory card backup, backup of the same file coruupted after restoring and both files 7-zipped without header with same CRC.
- (52.1 KiB) Downloaded 919 times
Last edited by PFRA89 on Mon Feb 07, 2011 11:48 pm, edited 1 time in total.
Re: Swiss future Memory Card Manager feature
I forgot to say I've learned the way Memory Card GCI files are structured by reading "Yet Another GameCube Documentation", p186.
-
- Posts: 308
- Joined: Wed Mar 31, 2010 1:07 pm
- Location: UK, Hull
Re: Swiss future Memory Card Manager feature
Have tried softdev's sdmc also?, I seem to remember reading back on tehskeen a few of the memory card managers caused curruption.
Re: Swiss future Memory Card Manager feature
Once compatibility becomes (a bit more) stable in swiss I will work on this.
![Image](http://www.gc-forever.com/files/emusig.jpg)
Re: Swiss future Memory Card Manager feature
I downloaded sdmc.dol here: http://www.gc-forever.com/forums/viewtopic.php?f=4&t=8kevstah2004 wrote:Have tried softdev's sdmc also?, I seem to remember reading back on tehskeen a few of the memory card managers caused curruption.
I ran it and noticed it have pretty nice GUI, which showed game icons, and I was happy because it could dump the entire memory card as raw data (that I should try in Dolphin emu).
But when I backed up my Zelda game save and made an entire memory card dump I got a totally corrupted Zelda save (even the header was corrupt) and 1KB size .mci memory card full dump (The MC is 4 Mega size). Worse I don't know the official site of this tool, I've tried tehskeen.com but only appears an unrelated store (jailbreak PS3?).
Re: Swiss future Memory Card Manager feature
tehskeen has closed down now for over a year and softdev has quit his gamecube / wii coding even longer since. When I get around to writing a memory card manager I will keep this in mind (Jap Zelda).
![Image](http://www.gc-forever.com/files/emusig.jpg)
Re: Swiss future Memory Card Manager feature
I want to say that the error I explained above happens on GCMM. The error in Dolphin emulator seems to be different.emu_kidid wrote:Once compatibility becomes (a bit more) stable in swiss I will work on this.
However it seems both errors happens on game saves that have the description strings offset value with a value different to 0x0, so this 0x3c header register deserves some attention when developing this feature.
I hope this can help.
- Diego borella
- Posts: 249
- Joined: Sat Jan 11, 2020 8:37 pm
- Location: Brazil
Re: Swiss future Memory Card Manager feature
interesting facts.
I managed to make Metroid Prime JAP work on an NTSC_U memory card.
but for Zelda_WW he asks to format the card.
Why does Metroid save, and Zelda_JAP doesn't? it seems that the explanation is given in this post ...
I saw that the Text option in Swiss was removed from the menu.
Now, will the card reading be automatic, will all JAP games be able to share the same memory card?
for Prime JAP, it was possible to create a save on the same memory card.
Edit +
It appears to me only in Kanji. even changing the Swiss language ...
I managed to make Metroid Prime JAP work on an NTSC_U memory card.
but for Zelda_WW he asks to format the card.
Why does Metroid save, and Zelda_JAP doesn't? it seems that the explanation is given in this post ...
I saw that the Text option in Swiss was removed from the menu.
Now, will the card reading be automatic, will all JAP games be able to share the same memory card?
for Prime JAP, it was possible to create a save on the same memory card.
Edit +
It appears to me only in Kanji. even changing the Swiss language ...
Last edited by Diego borella on Sat Nov 21, 2020 9:43 pm, edited 1 time in total.
![Idea :idea:](./images/smilies/icon_idea.gif)
![Geek :geek:](./images/smilies/icon_e_geek.gif)
![Geek :geek:](./images/smilies/icon_e_geek.gif)
![Idea :idea:](./images/smilies/icon_idea.gif)
DEBUG IS NECESSARY
![Arrow :arrow:](./images/smilies/icon_arrow.gif)
![Uber Geek :ugeek:](./images/smilies/icon_e_ugeek.gif)
Re: Swiss future Memory Card Manager feature
I checked and Wind Waker isn't asking to format, it's asking to create a file.
There isn't even any kanji, how can you not read this?
There isn't even any kanji, how can you not read this?
Re: Swiss future Memory Card Manager feature
Diego borella wrote: ↑Sat Nov 21, 2020 7:22 pmIt appears to me only in Kanji. even changing the Swiss language ...
![Image](https://files.extremscorner.org/gamecube/screenshots/prompt.png)
There's only hiragana and katakana here. No kanji.
- Diego borella
- Posts: 249
- Joined: Sat Jan 11, 2020 8:37 pm
- Location: Brazil
Re: Swiss future Memory Card Manager feature
![Laughing :lol:](./images/smilies/icon_lol.gif)
![Laughing :lol:](./images/smilies/icon_lol.gif)
![Laughing :lol:](./images/smilies/icon_lol.gif)
In my opinion, from what I was able to test; keep Slot B of the virtual memory card blocked by an empty Gecko. This will prevent corruptions.
![Sad :(](./images/smilies/icon_e_sad.gif)
It also seems that when doing the IGR, the last rescue is corrupted when there are two virtual slots in Arcadia Legends, and Metal Gear ... That for SP2, by slot-b everything seems to be in order.
![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)
Good job so far Extremes. A powerful homebrew channel programmer!
![Geek :geek:](./images/smilies/icon_e_geek.gif)
![Idea :idea:](./images/smilies/icon_idea.gif)
![Geek :geek:](./images/smilies/icon_e_geek.gif)
![Geek :geek:](./images/smilies/icon_e_geek.gif)
![Idea :idea:](./images/smilies/icon_idea.gif)
DEBUG IS NECESSARY
![Arrow :arrow:](./images/smilies/icon_arrow.gif)
![Uber Geek :ugeek:](./images/smilies/icon_e_ugeek.gif)
Swiss virtual memory cards
I don't know if I'm jumping the gun, asking about things that aren't done or ready yet...
I LOVE Swiss on my GC/GBplayer with GCLoader & SD2SP2, and I absolutely love the virtual memory card function.
I was wondering if there are any resources available for that function? I'm trying to figure out where the files are being stored, how to manage the files, if there are size limits to the virtual memory cards, etc.
The problem I'm having is that it seems the virtual memory card in "slot A" is out of space. There's definitely much more room on the SD cards in both my GCLoader & my SD2SP2.
Also, when I use the GC's memory card tool to manage my files, it shows nothing in slot A & B. Is there another utility I should be using?
GC model DOL-001
NTSC/US
Swiss V5r1086
I LOVE Swiss on my GC/GBplayer with GCLoader & SD2SP2, and I absolutely love the virtual memory card function.
I was wondering if there are any resources available for that function? I'm trying to figure out where the files are being stored, how to manage the files, if there are size limits to the virtual memory cards, etc.
The problem I'm having is that it seems the virtual memory card in "slot A" is out of space. There's definitely much more room on the SD cards in both my GCLoader & my SD2SP2.
Also, when I use the GC's memory card tool to manage my files, it shows nothing in slot A & B. Is there another utility I should be using?
GC model DOL-001
NTSC/US
Swiss V5r1086
Re: Swiss future Memory Card Manager feature
Maybe start games from swiss trough IPL to manage the virtual memorycard then?
DMG/MultiFreq OC/EDGB/EZF Jr, AGB/SC miniSD, NTR/NeoMK3, USG/flashme V8/SC miniSD
DOL001(EUR)/RGB/GCPlug/GBP/SD2SP2, RVL 001(EUR)/RGB/CMP/WiiSD
Zelda WW with Tingle Tuner in split screen was what the GC RF modulator was made for! (Video)
DOL001(EUR)/RGB/GCPlug/GBP/SD2SP2, RVL 001(EUR)/RGB/CMP/WiiSD
Zelda WW with Tingle Tuner in split screen was what the GC RF modulator was made for! (Video)
Re: Swiss future Memory Card Manager feature
I've updated my swiss config to boot through IPL (what does that even mean?), file management is on, games are located on the GCLoader card. Same thing, still getting variations on "card in slot A is full" from every game I try. Some games will ask if I want to save to slot B, and that works fine (there are no physical memory cards). That makes me think (assuming virtual A is kept on the same SD card as virtual B... I can't imagine why it wouldn't be) that the virtual memory cards have size limits...?
Can you clarify where save state files are stored, given my configuration?
Can you clarify where save state files are stored, given my configuration?
Re: Swiss future Memory Card Manager feature
Yes, the virtual memory cards do have a size limit, as they are emulating the actual physical cards. They are created as 1019 block cards by default.
Re: Swiss future Memory Card Manager feature
2043 blocks, actually. With the usual 127 files limit.
Re: Swiss future Memory Card Manager feature
Ok, I understand that.
So how do I go about managing my save files? The GC's built-in memory card utility doesn't see the virtual memory cards.
So how do I go about managing my save files? The GC's built-in memory card utility doesn't see the virtual memory cards.
Re: Swiss future Memory Card Manager feature
Enable boot through IPL, boot a game, then hold the A button during the animation. You can also use the Dolphin Emulator's Memory Card Manager.
-
- Posts: 10
- Joined: Mon Nov 30, 2020 5:50 pm
Re: Swiss future Memory Card Manager feature
The fact that you only adress 128 items with 7 bits adressing is beyond anybody at Nintendo. ![Laughing :lol:](./images/smilies/icon_lol.gif)
Yes, 128, the Fat's 5 blocks* probably have to be identfied too.
* That makes any card's free space 2^n-5 , n betwen 6 and 11 inclusive
![Laughing :lol:](./images/smilies/icon_lol.gif)
Yes, 128, the Fat's 5 blocks* probably have to be identfied too.
* That makes any card's free space 2^n-5 , n betwen 6 and 11 inclusive
DMG/MultiFreq OC/EDGB/EZF Jr, AGB/SC miniSD, NTR/NeoMK3, USG/flashme V8/SC miniSD
DOL001(EUR)/RGB/GCPlug/GBP/SD2SP2, RVL 001(EUR)/RGB/CMP/WiiSD
Zelda WW with Tingle Tuner in split screen was what the GC RF modulator was made for! (Video)
DOL001(EUR)/RGB/GCPlug/GBP/SD2SP2, RVL 001(EUR)/RGB/CMP/WiiSD
Zelda WW with Tingle Tuner in split screen was what the GC RF modulator was made for! (Video)
- Diego borella
- Posts: 249
- Joined: Sat Jan 11, 2020 8:37 pm
- Location: Brazil
Re: Swiss future Memory Card Manager feature
I see the problem is in DOL 101.
with SP2SD2 DOL 001 there are not so many obstacles and management problems...
the whole question is:
when activating the IPL.
there are two sound options; and if instead of audio the options were:
manage slot a
manage slot b
??
in the first revision of the memory card emulator, swiss emulated the 2 slots. Despite
for technical reasons it has been removed...
giving the option to manage slots by IPL would be good for those who have a DOL 101.
![Idea :idea:](./images/smilies/icon_idea.gif)
![Idea :idea:](./images/smilies/icon_idea.gif)
![Geek :geek:](./images/smilies/icon_e_geek.gif)
![Geek :geek:](./images/smilies/icon_e_geek.gif)
![Idea :idea:](./images/smilies/icon_idea.gif)
DEBUG IS NECESSARY
![Arrow :arrow:](./images/smilies/icon_arrow.gif)
![Uber Geek :ugeek:](./images/smilies/icon_e_ugeek.gif)
Re: Swiss future Memory Card Manager feature
Such an option couldn't overcome the current technical limitations.
Re: Swiss future Memory Card Manager feature
Just wanted to add that Biohazard Zero (Resident Evil Zero) doesn't work either. I'm playing the Japanese version and whenever I save and then comeback later and try to load it (from a virtual memory card) the game lists it as "broken data".