Emulator Issues #2284
closedZelda Wind Waker - JAP - ingame save causes infinite loop
0%
Description
What steps will reproduce the problem?
- Play the "The legend of zelda kaze no takuto(JPN)(GC)".
- Save a game data.
- Memory card error occured.
What is the expected output? What do you see instead?
What version of the product are you using? On what operating system?
Recently svn version
Please provide any additional information below.
Updated by 110.kenichi over 14 years ago
thank you for your reply.
Yes. Still have the problem.
//I'm testing on Rev 5827.
Updated by BhaaL over 14 years ago
Hmm, kaze....wind...wind waker, right?
Did you by chance use a save state right before saving? In particular, created a save state while something was happening (talking to people, passing thru a door, etc)?
If possible, try to play without save states and see if the problem persists.
Updated by 110.kenichi over 14 years ago
Yes,"kaze no takuto" == "Wind waker".
"Save Error" is occurred in game play. Save state function is perfect.
(I'm sorry if it's difficult for you to understand what I'm gong to say,
because my Enlish is not so good.)
Here is save data just in case(7z 10MB over).
http://www.megaupload.com/?d=KAMT51D0
and I attached a screen shot.
Updated by BhaaL over 14 years ago
Can you load your game from MemoryCard, and save it again (without using a save state)?
Updated by 110.kenichi over 14 years ago
Yes,I can load my save game.
But, the failed message is displayed repeatedly and infinitely when select save game in game play.
Can't be canceled.
Updated by 110.kenichi over 14 years ago
I found out that it isn't the dolphin bug.
The error message was displayed because data saving speed is too fast.
"The legend of zelda kaze no takuto(JPN)(GC)" seems to be measuring time to save the data to a memory card.
#via http://dol.dengeki.com/data/news/2002/12/16/47f7734162f9972a92bb846ae0eb98b3.html (Japanese)
Updated by Anonymous almost 14 years ago
- Status changed from New to Questionable
Please respond if this issue is still valid, or it will be closed.
Updated by 110.kenichi almost 14 years ago
I think it's not a bug. Please close.
Updated by Anonymous almost 14 years ago
but...does it work on dolphin? If the issue is that dolphin is too fast like you said, than that is still a bug :)
Updated by 110.kenichi almost 14 years ago
Ok. I will check the issue.
Please wait for a while longer.
#I'm in office now(It's 9AM in Japan)
Updated by skidau almost 14 years ago
- Status changed from Questionable to Accepted
I reproduced this issue recently and it is still a bug. There is something breaking within the timing of the memory card emulation.
Updated by 110.kenichi almost 14 years ago
Hi all,
I checked the issue by using Rev6546(x64).
Still valid. Save error occured even now.
Hope this helps.
Updated by lpfaint99 almost 14 years ago
has anyone who is able to reproduce this issue attempted using an emulated memcard 59 / 251?
there were other games that had problems with the larger memcards
http://www.nintendo.com/consumer/memorycard1019.jsp
Updated by skidau almost 14 years ago
This issue is still occurring in r6920 with a memcard 59 (4Mbit) card created by Dolphin. The save file can be created on the memcard without problem. The error occurs while trying to save in-game after the save file has been created.
Updated by skidau almost 14 years ago
I tried changing the Gamecube BS2 ID to a retail console id and the bug still occurs.
Updated by fulano over 13 years ago
Hi,
I am having the same problem in r7255. When the game started up, it asked to format the memory card, this created MemoryCardA.JAP.raw (16MB) in the GC directory. How does one make a 4MB card with dolphin?
As others have said, the initial save can be made with no error, then later saves that cause it. No errors seem to show up in the console log.
Updated by Anonymous over 13 years ago
You should create a card simply by formatting it in the game.
This issue is specifically for the Japanese version of wind waker, is that what you're having problems with?
Updated by fulano over 13 years ago
Yes, it is with the Japanese Wind Waker.
I did have the memory card be formatted from scratch by the game. And what it made is a 16 MB file.
Updated by Anonymous over 13 years ago
The save actually appears to write properly. In fact, all EXI communication is identical to the USA version (expect for the data actually being stored on the memcard - even the memcard commands are the same). The problem is just that it loops back to the beginning of the save process once it's apparently completed successfully...
So, it doesn't really appear to be a memcard or exi issue, weird.
Updated by Anonymous over 13 years ago
OK, found the problem at least:
memCardDataSaveWait__12dMenu_save_cFv: (dMenu_save_c::memCardDataSaveWait((void)))
handles the return value from
SaveSync__15mDoMemCd_Ctrl_cFv # mDoMemCd_Ctrl_c::SaveSync((void))
differently between the usa and jap versions.
The jap version calls the function each time, and the usa version caches the return value. memCardDataSaveWait is called 12 times by each version. However, the usa version does not call SaveSync the last time, while jap does. SaveSync returns 2 in jap, and forces the loop to happen.
...
Updated by Anonymous over 13 years ago
(you can patch 801d4110 from "cmpwi r3, 1" to "cmpwi r3, 2", and it will work for now :P)
Updated by Anonymous over 13 years ago
p.s. i think ida isn't so great at demangling the names - ignore the parameter types
Updated by Anonymous over 13 years ago
ok, so for SaveSync to return success, u32 g_mDoMemCd_control[0x1660] must be equal to 4. The only place this is set is in store__15mDoMemCd_Ctrl_cFv ... almost there...i hope :p
Updated by Anonymous over 13 years ago
So yeah...it's a timing issue after all. Basically the card is marked as being in a transfer, and a different thread comes out of some magical place and sets g_mDoMemCd_control[0x1660] to 4 (since it completes so quickly on dolphin) before the first call of memCardDataSaveWait. That screws up their state machine and makes it loop.
I'm going to try to debug it on real hardware, probably not going to get anywhere...
Updated by littlegreendude55 almost 12 years ago
Hey I know this is old so sorry, but does anyone know a way around this issue? It is still happening.
win 8 x64 3.0-878
Updated by 110.kenichi almost 12 years ago
Workaround in gameplay?
Disconnect memory card when it happened and reconnect.
You will be able to stop infinite loop.
Updated by william.ribeiro.ibiapina over 11 years ago
Another workaround is using save states instead. They're fairly stable as far as I know. The only drawback is that Tingle Tuner won't work at all after a loaded state, but it's not so much of a hindrance.
Updated by csermelyszilard over 11 years ago
It's still happening :(
Win 7 x64 3.5 (dec 24 revision)
Updated by s.hoelgaard over 11 years ago
I am also having this issue, I use the dolphin for speedrunning and the save-continue is imporatnt for safe-strats during races. Any fix for this issue ?
Updated by matanbrickman over 11 years ago
I am learning to speedrun this game and being unable to save-continue causes many soft locks. Is there any sort of fix for this?
Updated by JMC4789 over 10 years ago
This issue no longer happens in https://github.com/dolphin-emu/dolphin/pull/581
Updated by 110.kenichi over 10 years ago
Thank you.
I'll confirm.
2014-07-09 2:56 GMT+09:00 dolphin-emu@googlecode.com:
Updated by 110.kenichi over 10 years ago
Hi,
I've confirmed.
The issue is not occurred anymore and I could save/load perfectly.
Thank you TotalNerd and all. (^_^)v
#and.. please merge this to master repo.
2014-07-09 7:53 GMT+09:00 $B$$$H$1$s(B 110.kenichi@gmail.com:
Updated by xtrafear over 10 years ago
Hello kenichi, I still need to fix it up a little bit and make it MORE accurate before it can be put to master. :P Just hoping in the process it doesn't end up broken.
Updated by 110.kenichi over 10 years ago
Hi xtrafear-san,
Okay. I just can't wait for it to arrive.
Updated by JMC4789 over 10 years ago
- Status changed from Accepted to Fixed
Fixed by 4.0-2227 > https://dolphin-emu.org/download/dev/963e1a698cbeaa976a7f8e8020880a50267ecd69/
Bye bye old issue!