Project

General

Profile

Actions

Emulator Issues #2284

closed

Zelda Wind Waker - JAP - ingame save causes infinite loop

Added by 110.kenichi about 14 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

What steps will reproduce the problem?

  1. Play the "The legend of zelda kaze no takuto(JPN)(GC)".
  2. Save a game data.
  3. 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.

Actions #1

Updated by BhaaL almost 14 years ago

Still a problem?

Actions #2

Updated by 110.kenichi almost 14 years ago

thank you for your reply.

Yes. Still have the problem.

//I'm testing on Rev 5827.

Actions #3

Updated by BhaaL almost 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.

Actions #4

Updated by 110.kenichi almost 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.

Actions #5

Updated by BhaaL almost 14 years ago

Can you load your game from MemoryCard, and save it again (without using a save state)?

Actions #6

Updated by 110.kenichi almost 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.

Actions #7

Updated by 110.kenichi over 13 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)

Actions #8

Updated by 110.kenichi over 13 years ago

Please close this issue.

Thanks.

Actions #9

Updated by Anonymous over 13 years ago

  • Status changed from New to Questionable

Please respond if this issue is still valid, or it will be closed.

Actions #10

Updated by 110.kenichi over 13 years ago

I think it's not a bug. Please close.

Actions #11

Updated by Anonymous over 13 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 :)

Actions #12

Updated by 110.kenichi over 13 years ago

Ok. I will check the issue.
Please wait for a while longer.

#I'm in office now(It's 9AM in Japan)

Actions #13

Updated by skidau over 13 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.

Actions #14

Updated by 110.kenichi over 13 years ago

Hi all,

I checked the issue by using Rev6546(x64).
Still valid. Save error occured even now.

Hope this helps.

Actions #15

Updated by lpfaint99 over 13 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

Actions #16

Updated by skidau about 13 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.

Actions #17

Updated by skidau about 13 years ago

I tried changing the Gamecube BS2 ID to a retail console id and the bug still occurs.

Actions #18

Updated by fulano about 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.

Actions #19

Updated by Anonymous about 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?

Actions #20

Updated by fulano about 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.

Actions #22

Updated by Anonymous almost 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.

Actions #23

Updated by Anonymous almost 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.

...

Actions #24

Updated by Anonymous almost 13 years ago

(you can patch 801d4110 from "cmpwi r3, 1" to "cmpwi r3, 2", and it will work for now :P)

Actions #25

Updated by Anonymous almost 13 years ago

p.s. i think ida isn't so great at demangling the names - ignore the parameter types

Actions #26

Updated by Anonymous almost 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

Actions #27

Updated by Anonymous almost 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...

Actions #28

Updated by littlegreendude55 over 11 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

Actions #29

Updated by 110.kenichi over 11 years ago

Workaround in gameplay?
Disconnect memory card when it happened and reconnect.
You will be able to stop infinite loop.

Actions #30

Updated by Billiard26 about 11 years ago

  • Issue type set to Bug
Actions #31

Updated by william.ribeiro.ibiapina about 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.

Actions #32

Updated by csermelyszilard about 11 years ago

It's still happening :(
Win 7 x64 3.5 (dec 24 revision)

Actions #33

Updated by s.hoelgaard almost 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 ?

Actions #34

Updated by matanbrickman over 10 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?

Actions #35

Updated by JMC4789 almost 10 years ago

This issue no longer happens in https://github.com/dolphin-emu/dolphin/pull/581

Actions #36

Updated by 110.kenichi almost 10 years ago

Thank you.
I'll confirm.

2014-07-09 2:56 GMT+09:00 :

Actions #37

Updated by 110.kenichi almost 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 :

Actions #38

Updated by xtrafear almost 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.

Actions #39

Updated by 110.kenichi almost 10 years ago

Hi xtrafear-san,

Okay. I just can't wait for it to arrive.

Actions #40

Updated by JMC4789 almost 10 years ago

  • Status changed from Accepted to Fixed
Actions #41

Updated by 110.kenichi almost 10 years ago

Thank you so much!

Actions

Also available in: Atom PDF