Emulator Issues #9315
closedNeo Geo sound problem under HLE
0%
Description
The audio of Neo Geo Games sounds is stuttering (audio examples attached)
Example games
Metal slug X (ECCEJ8)
Neo turf masters (EAREJ8)
Dolphin 4.0-8863
i7.4790k (HD4600)
RAM 32GB
Files
Updated by JMC4789 over 8 years ago
- Assignee set to degasus
- Milestone set to Current
- Regression changed from No to Yes
Broken by 4.0-7359 -> Remove DSP-HLE Timing information. #RIOT #FIX SUPERBASEBALL
Updated by degasus over 8 years ago
I've spend an hour today, but I can't find the issue. Seems like the DSP is running fine, but out of sync with the AI.
LLE:
25:28:831 ../Source/Core/Core/HW/DSP.cpp:369 E[DSP]: DSP_CONTROL 118
25:28:831 ../Source/Core/Core/HW/DSP.cpp:332 E[DSP]: DSP_WriteMailBoxHigh babe
25:28:831 ../Source/Core/Core/HW/DSP.cpp:341 E[DSP]: DSP_WriteMailBoxLow 80
25:28:831 ../Source/Core/Core/HW/DSP.cpp:332 E[DSP]: DSP_WriteMailBoxHigh 8029
25:28:831 ../Source/Core/Core/HW/DSP.cpp:341 E[DSP]: DSP_WriteMailBoxLow 2520
25:28:831 ../Source/Core/Core/HW/DSP.cpp:476 E[DSP]: GenerateDSPInterrupt 80
25:28:831 ../Source/Core/Core/HW/DSP.cpp:369 E[DSP]: DSP_CONTROL 190
25:28:832 ../Source/Core/Core/HW/DSP.cpp:476 E[DSP]: GenerateDSPInterrupt 80
25:28:832 ../Source/Core/Core/HW/DSP.cpp:369 E[DSP]: DSP_CONTROL 190
25:28:832 ../Source/Core/Core/HW/DSP.cpp:332 E[DSP]: DSP_WriteMailBoxHigh cdd1
25:28:832 ../Source/Core/Core/HW/DSP.cpp:341 E[DSP]: DSP_WriteMailBoxLow 3
25:28:834 ../Source/Core/Core/HW/DSP.cpp:476 E[DSP]: GenerateDSPInterrupt 8
25:28:834 ../Source/Core/Core/HW/DSP.cpp:369 E[DSP]: DSP_CONTROL 118
25:28:834 ../Source/Core/Core/HW/DSP.cpp:332 E[DSP]: DSP_WriteMailBoxHigh babe
25:28:834 ../Source/Core/Core/HW/DSP.cpp:341 E[DSP]: DSP_WriteMailBoxLow 80
25:28:834 ../Source/Core/Core/HW/DSP.cpp:332 E[DSP]: DSP_WriteMailBoxHigh 8029
25:28:834 ../Source/Core/Core/HW/DSP.cpp:341 E[DSP]: DSP_WriteMailBoxLow 24a0
25:28:834 ../Source/Core/Core/HW/DSP.cpp:476 E[DSP]: GenerateDSPInterrupt 80
25:28:834 ../Source/Core/Core/HW/DSP.cpp:369 E[DSP]: DSP_CONTROL 190
25:28:834 ../Source/Core/Core/HW/DSP.cpp:476 E[DSP]: GenerateDSPInterrupt 80
25:28:834 ../Source/Core/Core/HW/DSP.cpp:369 E[DSP]: DSP_CONTROL 190
25:28:834 ../Source/Core/Core/HW/DSP.cpp:332 E[DSP]: DSP_WriteMailBoxHigh cdd1
25:28:834 ../Source/Core/Core/HW/DSP.cpp:341 E[DSP]: DSP_WriteMailBoxLow 3
25:28:835 ../Source/Core/Core/HW/DSP.cpp:476 E[DSP]: GenerateDSPInterrupt 8
HLE:
26:47:152 ../Source/Core/Core/HW/DSP.cpp:369 E[DSP]: DSP_CONTROL 918
26:47:152 ../Source/Core/Core/HW/DSP.cpp:332 E[DSP]: DSP_WriteMailBoxHigh babe
26:47:152 ../Source/Core/Core/HW/DSP.cpp:341 E[DSP]: DSP_WriteMailBoxLow 80
26:47:152 ../Source/Core/Core/HW/DSP.cpp:332 E[DSP]: DSP_WriteMailBoxHigh 8029
26:47:152 ../Source/Core/Core/HW/DSP.cpp:341 E[DSP]: DSP_WriteMailBoxLow 2520
26:47:152 ../Source/Core/Core/HW/DSP.cpp:476 E[DSP]: GenerateDSPInterrupt 80
26:47:152 ../Source/Core/Core/HW/DSP.cpp:369 E[DSP]: DSP_CONTROL 990
26:47:152 ../Source/Core/Core/HW/DSP.cpp:332 E[DSP]: DSP_WriteMailBoxHigh cdd1
26:47:152 ../Source/Core/Core/HW/DSP.cpp:341 E[DSP]: DSP_WriteMailBoxLow 3
26:47:155 ../Source/Core/Core/HW/DSP.cpp:476 E[DSP]: GenerateDSPInterrupt 8
26:47:155 ../Source/Core/Core/HW/DSP.cpp:369 E[DSP]: DSP_CONTROL 918
26:47:155 ../Source/Core/Core/HW/DSP.cpp:332 E[DSP]: DSP_WriteMailBoxHigh babe
26:47:155 ../Source/Core/Core/HW/DSP.cpp:341 E[DSP]: DSP_WriteMailBoxLow 80
26:47:155 ../Source/Core/Core/HW/DSP.cpp:332 E[DSP]: DSP_WriteMailBoxHigh 8029
26:47:155 ../Source/Core/Core/HW/DSP.cpp:341 E[DSP]: DSP_WriteMailBoxLow 24a0
26:47:155 ../Source/Core/Core/HW/DSP.cpp:476 E[DSP]: GenerateDSPInterrupt 80
26:47:155 ../Source/Core/Core/HW/DSP.cpp:369 E[DSP]: DSP_CONTROL 990
26:47:155 ../Source/Core/Core/HW/DSP.cpp:332 E[DSP]: DSP_WriteMailBoxHigh cdd1
26:47:155 ../Source/Core/Core/HW/DSP.cpp:341 E[DSP]: DSP_WriteMailBoxLow 3
26:47:158 ../Source/Core/Core/HW/DSP.cpp:476 E[DSP]: GenerateDSPInterrupt 8
Updated by BhaaL over 8 years ago
Random hunch: does git revert 7277eb0e6c53a9bf23c
fix this?
If not, I'm guessing that some events do need the 3/5ms timing difference for accuracy.
Updated by degasus over 8 years ago
- Assignee deleted (
degasus)
Sounds like we shoud just enforce LLE here.
Updated by Fog over 8 years ago
- Status changed from Accepted to Fix pending
"Fixed" in PR 3838: https://github.com/dolphin-emu/dolphin/pull/3838
Updated by Fog over 8 years ago
Also "fixed" in PR 3841: https://github.com/dolphin-emu/dolphin/pull/3841
Updated by JosJuice over 8 years ago
- Status changed from Fix pending to New
Workarounds don't count as fixes. Milestone Current can be removed once PR 3841 is merged, but the issue can't get set to Fixed unless it actually works properly in HLE.
Updated by Fog over 8 years ago
- Status changed from New to Accepted
Should be accepted instead of new.
Updated by phire over 8 years ago
This probably won't ever be fixed in HLE.
The game is writing data to memory late and depending on the DSP emulation to take the correct amount of time to execute.
It's kind of pointless to add correct timing information to HLE, as it will be a large slowdown and we the game works perfectly fine in DSP LLE. Ignoring complexities like the correct timing information is kind of the point of DSP HLE
Updated by JMC4789 over 8 years ago
We'll just add to wontfix after the INIs are merged.
Updated by JosJuice over 8 years ago
- Status changed from Accepted to Won't fix
- Milestone deleted (
Current) - Regression changed from Yes to No
DSP LLE was forced by 4.0-9345. https://dolphin-emu.org/download/dev/e11b884778b140f70c121495e4b03f173d9a2ada/