Project

General

Profile

Emulator Issues #5563

Metroid Prime BGM Problems with LLE

Added by MayImilae about 10 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

Affects: GM8E01 and R3ME01

Background music stops randomly with DSP LLE in Metroid Prime. Occurs in both the GCN and Trilogy versions, and it is unable to recover. Once it stops, that's all folks. HLE has similar problems, but uh, it's HLE, it's expected there. Note that it will occur even when running at 60fps, so it doesn't appear to be performance related. And it occurs on both Xaudio2 and DirectSound (though it seems to happen more readily on Xaudio2, maybe my imagination).

To reproduce, just play the game, it will stop sooner or later. If you don't want to wait, going in and out of fullscreen or taking a screenshot will usually muck it up.

For comparison, Prime 2's BGM can stop, but I have never encountered it doing it on it's own (only when doing things to TRY to mess it up), and even then it is able to recover. Prime 3 (Trilogy, if it matters) seems immune.

Tested on 3.0-735

Windows 7 x64
Core i5 3570K @ 4.7ghz
nVidia Geforce GTX275

History

#1 Updated by MayImilae about 10 years ago

Gah, forgot some stuff. LLE on thread does not affect it. And sound effects are totally unaffected by this issue.

#2 Updated by burnhellpsp about 10 years ago

This is a new hle/lle issue with recent gits, Sonic Adventure 2 also has problem.

The git that cause those issues in Metroid Prime 1 & 2 also in Sonic Adventure 2 is this: http://code.google.com/p/dolphin-emu/source/detail?r=b0d271db3c7e79e3cf27131393d7a490f5e122d1

#3 Updated by delroth almost 10 years ago

  • Status changed from New to Accepted

Cc-ing skidau.

#4 Updated by skidau almost 10 years ago

The revision rb0d271db3c7e79e3cf27131393d7a490f5e122d1 affected only DSP HLE and this issue is regarding LLE. delroth changed that line of code in ra26223c04cc1 resulting in both DSP LLE and DSP HLE being affected. The line of code "g_dspState.DSPControl.DMAState = 0" is accurate to the hardware.

The other changes in rb0d271db3c7e79e3cf27131393d7a490f5e122d1 affect only non-SSE3 CPU's and cannot cause this issue.

#5 Updated by burnhellxp almost 10 years ago

Sorry to blame, that git.

So I made some test with the 3.0-673 and Metroid Prime is working fine (doesn't has this issue)and with 3.0-687 metroid prime has this issue.

About Sonic Adventure 2, it already has problems with 3.0-491 o_O

#6 Updated by burnhellxp almost 10 years ago

Metroid Prime is working fine on 3.0-678, too.

#7 Updated by burnhellxp almost 10 years ago

3.0-684 stop the bgm in metroid prime (has this issue)

#8 Updated by Autoran1 almost 10 years ago

Confirm this issue

#9 Updated by Autoran1 almost 10 years ago

And of course it happened cause of DSP.cpp changes
tried to revert to (before the rb0d271db3c7e)- behavior and BGM works again, and of course it killed Day of Reckoning 2

#10 Updated by MayImilae almost 10 years ago

So, I've been playing Metroid Prime GCN all the way through, and I've learned a few things. I think this issue is more complex than just one build.

As I noted in the forum post below, in 3.0-720 (and just tested 3.0-750) there is a studdering issue. http://forums.dolphin-emulator.com/showthread.php?tid=23611&pid=225928#pid225928

I blamed it on dolphin's loading because it LOOKS like a loading problem, but in my further testing it seemed more random. Furthermore, as I was playing through Prime in 3.0-600 I noticed it doesn't have the studdering problems, EVER. I thought this was because I was using fast disc access, but I disabled it and it was fine. So I'm thinking it's another LLE issue, and decided to do some thorough testing to study it. Here's what I found.

3.0-600 has near perfect audio with DSP-LLE on thread and Xaudio2. It's only derped once or twice in hours of playing over several days. LLE on thread and Xaudio2 with EFB to Ram (cached).

3.0-631 - Some minor sound effect issues are present. Using same settings as 3.0-600, and disabling LLE on thread has no effect. Studdering is present, but it is less than current builds.

3.0-673 - Same as 631.

3.0-682 - Same as 673, but has more reproducible and annoying sfx issues.

3.0-900 - BGM is fine (!), same as 682.

3.0-710 - Same as current builds. No sound effect issues (except during studdering), studdering is much worse, and BGM stops easily.

3.0-720 - Same as 710

3.0-750 - Same as 710

Looks like skid is right about the origin of this bug. It is possible that the more accurate emulation for DMA is taking something that occurred before and making it worse. Whenever it studders, music and sound effects will glitch, and the music stops. It will still studder before and after music stops, but severe studdering will cause it to glitch. The studdering could very well be the cause of it.

Note that the studdering does not appear to be performance related. My computer is very strong, it happens regardless of what is on the screen, and it will occur even with EFB to Texture, which is a cakewalk for my system.

To make it easier to reproduce, here is my memory card from a while ago. It is what I use for testing the bug. The "chozo ruins" save is nearly 100% consistent: just load it, rush out the door, then lock on and shoot the shriekbats that come down to attack you. The game will studder and the music stop every time.

https://dl.dropbox.com/u/519564/PrimeStudderTestMemoryCard.7z

#11 Updated by MayImilae almost 10 years ago

*3.0-900 should be 3.0-700

I really wish this thing had an edit function.

Anyway, in a fix from the very first post: Prime 3 does have similar audio problems. Specifically, with DSP LLE it can get stuck looping a few seconds of music over and over and over. And it can screw up audio cues if it's doing it.

Also, there is a sound problem with DSP LLE and Prime 1 in 3.0-600. When underwater, there is an occasional "brzzt" sound that happens regularly every few seconds. Otherwise, it is very reliable and nearly flawless.

I tried 3.0 for a comparision, and it's audio seems to be exactly the same as 3.0-600, even the "brzzt" underwater.

#12 Updated by burnhellpsp almost 10 years ago

Those recent sound issues with sonic adventure 2 appear to be fixed and the speed is back too (tested with the GIT 3.0 763)

But the BGM of Metroid Prime stops fast.

#13 Updated by burnhellpsp almost 10 years ago

After solve the 1st code "3:33" in Eternal Darkness the sound get a glitch and the game crash if you try to open the menu and it also will crash if you get the Eternal Darkness tome, on both DSP LLE and DSP HLE. :(

#14 Updated by MayImilae almost 10 years ago

The ARMA-DMA revert (3.0-766) has brought Prime back to where it was as of 3.0-682 and 3.0-700. The BGM is rock solid throughout, but sound effects are screwed up.

#15 Updated by burnhellpsp almost 10 years ago

The issue, after solve the 1st code "3:33" in Eternal Darkness is fixed on dolphin 3.0-772 (master build)

Metroid Prime BGM still stops.

#16 Updated by Autoran1 almost 10 years ago

since aram-dma was reverted this one is no longer an issue

#17 Updated by itachijuniorpc over 9 years ago

@Autor, this issue still not fixed, it only take more time (some times) to stop the BGM completely.

#18 Updated by itachijuniorpc over 9 years ago

Super Smash Bros Melee, BGM ingame and Movie BGM is also stopping on both, DSP HLE and LLE.

#19 Updated by itachijuniorpc over 9 years ago

Speed up Disc transfer OFF on Super Smash Bros Melee seems to fix the BGM in recent gits, (i don't know if it still can stop with it OFF) dolphin 3.0 and master git 3.0-745 doesn't need disable Speed up Disc transfer.

Speed up Disc transfer ON on Super Smash Bros Melee, makes the BGM stop, the 1st git that I see with this issue was the dolphin 3.0-763, the last git that I see without this issue was dolphin 3.0-745

Speed up Disc transfer OFF on Metroid Prime 1 GC, fix the "BGM doesn't play sometimes" for all dolphins, but the BGM still stops completely after a while in recent gits (the BGM doesn't stops in dolphin 3.0 and the master git 3.0-397)

Metroid Prime 1 GC doesn't like "Speed up Disc transfer ON" It makes the BGM doesn't play sometimes, in all dolphins, the loading of the doors are so fast, that the BGM can't keep up.

#20 Updated by itachijuniorpc over 9 years ago

I discovered that Metroid Prime 1 EUR GC (and maybe Metroid Prime 1 Wii USA & EUR), doesn't need uncheck Speed up Disc transfer, you can leave it ON, since those versions doesn't have problems with loads fast ;) , only the Metroid Prime 1 GC USA, need Speed Up Disc transfer OFF, since even on the real GameCube the BGM will not play sometimes if the loads are too fast.

#21 Updated by Billiard26 over 9 years ago

I'm told this has been resolved.

Does anyone have this issue in recent revisions?
If so, which revision?
And is there a method to easily reproduce the problem?

#22 Updated by Billiard26 over 9 years ago

  • Status changed from Accepted to Fixed

Apparently no longer a problem with DSP LLE.

Also available in: Atom PDF