Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tales of Symphonia, freeze/hang on cutscene #387

Open
NotMoreZombies opened this issue Aug 17, 2020 · 26 comments
Open

Tales of Symphonia, freeze/hang on cutscene #387

NotMoreZombies opened this issue Aug 17, 2020 · 26 comments

Comments

@NotMoreZombies
Copy link

NotMoreZombies commented Aug 17, 2020

First encountered this issue on v0.5r876, tested with v0.5r878 and it is not resolved.

To give an idea of what exactly the issue looks like, the game plays entirely normally up to this cutscene:

https://www.youtube.com/watch?v=2N0Mb9h5e4I&t=14492

After the fireball is launched and the screen fades to black, it just stays black while the music keeps playing (also, the reset button stops responding).

I have tested with different ISOs (to try and eliminate the possibility of a bad rip) on GCLoader and SD2SP2. I managed to get around the issue by exporting the save to Dolphin, this file is included below (if anyone wants to reproduce the issue, just exit the building you start in and walk as far right as possible).

AF-GQSE-TOS_000_00.zip

For some more details, I have a DOL-001 PAL console, playing the NTSC version of the game.

@Extrems Extrems added the bug label Aug 17, 2020
@Extrems
Copy link
Collaborator

Extrems commented Aug 17, 2020

Also happen on GC Loader as boot.iso, or with the (incomplete) disc read speed emulation enabled.

Not sure what to file this under.

@PsychoFox11
Copy link

PsychoFox11 commented Aug 26, 2020

I tried as boot.iso from GC Loader on my US DOL-001 NTSC and encountered no issues. I was able to reproduce the bug when loading via Swiss, both directly from the GC Loader after booting Swiss, or booting Swiss from GC Loader and then running the game from SD2SP. Thing is, there's no way to change to disc 2 when loading as boot.iso so you can't play multidisc this way. It does seem to confirm it as a Swiss thing rather than a GC Loader thing on my end though. Happy to test further if needed. I do admit I only tried each once so far, using the provided save file.

So for me:
-boot.iso on GC Loader - fine (but can't change discs)
-loading Swiss via GC Loader then loading the game from GC Loader or SD2SP - crashes as described

Currently with a GC Loader, if you can save past this scene, before Disc 2, you could play as boot.iso until the save after this scene, then switch to Swiss until the disc swap... and then if there are any more such bugs, make disc 2 boot.iso after a save that would load on disc 2. I don't know the game well enough to know if there's a save between here and Disc 2, but I'd like to know that too so I know if this is a valid workaround, I was planning to check this one out soon.

@Extrems
Copy link
Collaborator

Extrems commented Aug 26, 2020

How does that confirm it as a Swiss thing when it reproduced as boot.iso on my end?

@Extrems
Copy link
Collaborator

Extrems commented Aug 26, 2020

Also, it's fine when using the File Service Protocol and that part of the disc hasn't been cached by the server yet.
It's also fine when using a burned disc with Swiss, which shares the same code path as the GC Loader.

@PsychoFox11
Copy link

PsychoFox11 commented Aug 26, 2020

I just meant for me, and I've tried it further with no issues using it as boot.iso. It could definitely be a Swiss when a GC Loader is present issue. Just for me, it is only an issue when Swiss is used, but it could very well be an issue with the GC Loader working with Swiss correctly. I'd like to see it addressed, whichever side it turns up on, or if it requires the two to communicate.

It does sound like it could be the GC Loader if using a burned disc with Swiss works, or some misalignment of the two.

If you think this should be reported on the GC Loader Github, I'm happy to post it there as the OP hadn't last I checked. Since you're a collaborator, I'll take your call on that.

@Extrems
Copy link
Collaborator

Extrems commented Aug 26, 2020

It's technically the game's fault for being badly programmed.

A long seek occurs during that screen fade, which happen almost instantly on most of everything else.
The disc read speed emulation doesn't currently account for seek time, which is why it has no effect.

@PsychoFox11
Copy link

Good to know. Hopefully something can be implemented to make this game fully playable, even if it is specific to this game rather than full seek time emulation. I know devs aren't always magicians though. Wonder why it works for me as boot.iso? Put it on a very new 32GB Sandisk SD (not micro) and it's been fine.

@tjanas
Copy link

tjanas commented Aug 26, 2020

I just tested it with my US DOL-001 and confirm the same behavior that @PsychoFox11 experienced; for me, it did not freeze when booting the game directly as boot.iso via GCLoader. It did freeze when launching via latest version of Swiss from my GCLoader SD card. Tested with an old SanDisk Extreme PLUS 32MB 90MB/S U3 V30 SD card.

@Extrems
Copy link
Collaborator

Extrems commented Aug 26, 2020

So far this is consistently reproducing on my end with a HP, a Kingston Canvas Select, and a older SanDisk Extreme as boot.iso.

@Extrems
Copy link
Collaborator

Extrems commented Aug 26, 2020

@tjanas
Copy link

tjanas commented Aug 26, 2020

@Extrems is there anything you’d like me to try? I plan on testing another SD card with the game as boot.iso to see if I can make it freeze that way.

@Extrems
Copy link
Collaborator

Extrems commented Aug 26, 2020

I'm baffled by this issue at this point as not even accounting for seek time helped.

@tjanas
Copy link

tjanas commented Aug 26, 2020

I just tried a MicroCenter branded 32GB micro sd card, and that DID have the issue running as GCLoader boot.iso.

@PsychoFox11
Copy link

PsychoFox11 commented Aug 27, 2020

Are you using a full .iso or an nkit.iso for the boot.iso? I don't think it would matter unless that could affect seek time things. I am using an nkit.iso - I can restore it to the full redump iso it started as and try that if it would help anything. All of my tests were with nkit.iso images.

@tjanas
Copy link

tjanas commented Aug 27, 2020

My main GCLoader sd card is using nkit. For the two test sd cards I used with booting the game via boot.iso (one had the issue and one didn’t), I used the redump iso.

@Extrems
Copy link
Collaborator

Extrems commented Aug 27, 2020

Verbatim DVD+R on Disc Drive 08 2002/23 (61)

address 0064A940 length 00008800 offset 39B3D478 ticks 00415D57
address 0064A940 length 00008800 offset 39B48478 ticks 0002BF0A
address 0064A940 length 00008800 offset 39B54C78 ticks 0002AE82
address 0064A940 length 00008800 offset 39B65478 ticks 0002D23C
address 0064A940 length 00008800 offset 39B6FC78 ticks 0002C997
address 0064A940 length 00008800 offset 39B80478 ticks 0002A2F0
address 0064A940 length 00008800 offset 39B8E478 ticks 00029A0A
address 0064A940 length 00008800 offset 39B98C78 ticks 0002AE10
address 0064A940 length 00004000 offset 39BA9C78 ticks 0001C3A6
[fade out]
address 012BC980 length 000025A0 offset 13B1EC20 ticks 004A6CC5
address 012BC980 length 000025A0 offset 13B1EC20 ticks 0035A9A7
[fade in]
effect person delete
address 0064A940 length 00003800 offset 39BADC78 ticks 00513BB6

SanDisk Extreme on GC Loader

address 0064A940 length 00008800 offset 39B3D478 ticks 0002EC28
address 0064A940 length 00008800 offset 39B48478 ticks 0002FE80
address 0064A940 length 00008800 offset 39B54C78 ticks 0002DAC7
address 0064A940 length 00008800 offset 39B65478 ticks 0002F1A4
address 0064A940 length 00008800 offset 39B6FC78 ticks 00031624
address 0064A940 length 00008800 offset 39B80478 ticks 0002E9F0
address 0064A940 length 00008800 offset 39B8E478 ticks 0002D65B
address 0064A940 length 00008800 offset 39B98C78 ticks 0002DC52
address 0064A940 length 00004000 offset 39BA9C78 ticks 00016D15
[fade out]
address 012BC980 length 000025A0 offset 13B1EC20 ticks 0000C249
address 012BC980 length 000025A0 offset 13B1EC20 ticks 0000FBEE

SanDisk Extreme on GC Loader with Emulate Read Speed (Swiss v0.5r890)

address 0064A940 length 00008800 offset 39B3D478 ticks 0034FE31
address 0064A940 length 00008800 offset 39B48478 ticks 0015D326
address 0064A940 length 00008800 offset 39B54C78 ticks 0015D35B
address 0064A940 length 00008800 offset 39B65478 ticks 0015D48A
address 0064A940 length 00008800 offset 39B6FC78 ticks 0015D2A5
address 0064A940 length 00008800 offset 39B80478 ticks 0015D4CD
address 0064A940 length 00008800 offset 39B8E478 ticks 0015D403
address 0064A940 length 00008800 offset 39B98C78 ticks 0015D2E7
address 0064A940 length 00004000 offset 39BA9C78 ticks 0015D47D
[fade out]
address 012BC980 length 000025A0 offset 13B1EC20 ticks 00400C5A
address 012BC980 length 000025A0 offset 13B1EC20 ticks 001A75A5

@Extrems
Copy link
Collaborator

Extrems commented Sep 7, 2020

Fixed in d46fd2a (r905) for GC Loader with Emulate Read Speed enabled.

@Extrems
Copy link
Collaborator

Extrems commented Sep 7, 2020

SanDisk Extreme on GC Loader with Emulate Read Speed (Swiss v0.5r905)

address 0064A940 length 00008800 offset 39B3D478 ticks 004D89E6
address 0064A940 length 00008800 offset 39B48478 ticks 0003085E
address 0064A940 length 00008800 offset 39B54C78 ticks 0002DF7F
address 0064A940 length 00008800 offset 39B65478 ticks 0002F8A8
address 0064A940 length 00008800 offset 39B6FC78 ticks 00031E2B
address 0064A940 length 00008800 offset 39B80478 ticks 0002F30E
address 0064A940 length 00008800 offset 39B8E478 ticks 0002DD44
address 0064A940 length 00008800 offset 39B98C78 ticks 0002E096
address 0064A940 length 00004000 offset 39BA9C78 ticks 00016D67
[fade out]
address 012BC980 length 000025A0 offset 13B1EC20 ticks 0043A6CF
address 012BC980 length 000025A0 offset 13B1EC20 ticks 002F5663
[fade in]
effect person delete
address 0064A940 length 00003800 offset 39BADC78 ticks 0056D411

@tjanas
Copy link

tjanas commented Sep 8, 2020

Just tested this with Swiss v0.5r906 and still experiencing the same issue. I have Emulate Read Speed enabled with GCLoader.

@Extrems
Copy link
Collaborator

Extrems commented Sep 8, 2020

Well, I'm burned out from this. I guess it just isn't getting fixed.

@Extrems Extrems closed this as completed Sep 8, 2020
@Extrems Extrems added the wontfix label Sep 8, 2020
@tjanas
Copy link

tjanas commented Sep 8, 2020

Well, I'm burned out from this. I guess it just isn't getting fixed.

So I tried disabling Boot with IPL, and that makes the bug go away with r906.

@Extrems
Copy link
Collaborator

Extrems commented Sep 8, 2020

If you booted using the other disc, only the initial disc is currently patched.

@PsychoFox11
Copy link

Well, I'm burned out from this. I guess it just isn't getting fixed.

So I tried disabling Boot with IPL, and that makes the bug go away with r906.

I already had Boot with IPL disabled, and it made no difference for me in r912. However, I can still run this segment consistently when using it as boot.iso on my GC Loader, from a 32GB Sandisk SD (not micro) card. I keep a few files I rotate as boot.iso on there, and I even copied them all off and back on to put it in a different position on the card, still no issues using that method. I'm using an nkit.iso as boot.iso by the way, haven't tested regular iso. I have an SD2SP2 so I'm applying patches, but only the defaults, when testing with Swiss which does have the issue.

Won't keep this thread alive after this comment since it is dead for now, but it's worth a try if using GC Loader, it seems to work for some. Once you get past this scene, save and switch over to Swiss before the disc change (I haven't played the full game yet, hoping there is a save between here and the disc change!).

@Extrems
Copy link
Collaborator

Extrems commented Sep 19, 2020

I have an SD2SP2 so I'm applying patches, but only the defaults, when testing with Swiss which does have the issue.

You must enable the Emulate Read Speed option, otherwise of course the issue will persist.

The issue with boot through IPL has been fixed.

@PsychoFox11
Copy link

PsychoFox11 commented Sep 19, 2020

Ah ok, pretty new to Swiss and thought it would enable it within the default patches if it was needed for a certain game. I'll just keep it on in general, seems to help with all my other ODE devices that offer it. Thanks for the info!

Edit: Yep it's fine, I also thought by the label on the issue of 'wontfix' that there was no fix and the earlier one mentioned hadn't worked out or something, so I didn't test that thoroughly. I'm learning how things work around here! Thanks again for all the work on this!

@Extrems
Copy link
Collaborator

Extrems commented Sep 19, 2020

This was kept open because other devices are affected as well, such as passive SD card adapters.

@Extrems Extrems removed the wontfix label Sep 20, 2020
@Extrems Extrems reopened this Sep 20, 2020
@Extrems Extrems added game bug and removed bug labels Mar 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants