Project

General

Profile

Actions

Emulator Issues #13017

closed

Various game breaking issues in Final Fantasy Crystal Chronicles stemming from HLE audio change crashing muiltiplayer

Added by Ethanator611 4 months ago. Updated 4 months ago.

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

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Current
Regression:
Yes
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
5.0-17121
Fixed in:
5.0-17204

Description

Game Name?

Final Fantasy Crystal Chronicles

Game ID?

GCCE01

MD5 Hash?

a6d6064396b20c0d0d836afad97d3a4c

What's the problem? Describe what went wrong.

when any GBA is connected audio is missing and the game crashes upon selecting either single or multiplayer on a new game, various other oddities include GBA's refusing to connect after the game has booted, GBA4 refusing to connect at all, and in 5.0-17121 (the exact version that broke it) specifically, GBA1 and 2 refuse the connection

What steps will reproduce the problem?

Attempting to start a new game with a GBA connected on any slot

Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.

Yes. 5.0-17197

Is the issue present in the latest stable version?

No

If the issue isn't present in the latest stable version, which is the first broken version?

5.0-17121

What are your PC specifications?

AMD Ryzen 3 2200G, GTX 1050ti, Windows 10, 16GB RAM. normal stuff

For anybody else with this issue, you can play the game for now by either rolling back to version 5.0-17116 or simply setting Dolphin to one of the LLE audio emulation options.

Actions #1

Updated by JosJuice 4 months ago

  • Milestone set to Current
  • Regression changed from No to Yes
  • Regression start set to 5.0-17121
Actions #2

Updated by pokechu22 4 months ago

Are there any messages in the logs under DSPHLE with the level set at info?

Actions #3

Updated by AdmiralCurtiss 4 months ago

18:50:373 Core\HW\DSPHLE\UCodes\UCodes.cpp:230 I[DSPHLE]: Switching to ROM ucode
18:50:373 Core\HW\DSPHLE\UCodes\ROM.cpp:28 I[DSPHLE]: UCode_Rom - initialized
18:52:828 Core\HW\DSPHLE\UCodes\UCodes.cpp:230 I[DSPHLE]: Switching to ROM ucode
18:52:828 Core\HW\DSPHLE\UCodes\ROM.cpp:28 I[DSPHLE]: UCode_Rom - initialized
18:52:838 Core\HW\DSPHLE\UCodes\UCodes.cpp:234 I[DSPHLE]: Switching to INIT ucode
18:52:838 Core\HW\DSPHLE\UCodes\INIT.cpp:16 I[DSPHLE]: INITUCode - initialized
18:52:840 Core\HW\DSPHLE\DSPHLE.cpp:199 I[DSPHLE]: DSP_CONTROL halt bit changed: 0004 -> 0000
18:52:842 Core\HW\DSPHLE\DSPHLE.cpp:199 I[DSPHLE]: DSP_CONTROL halt bit changed: 0000 -> 0004
18:52:844 Core\HW\DSPHLE\UCodes\UCodes.cpp:230 I[DSPHLE]: Switching to ROM ucode
18:52:844 Core\HW\DSPHLE\UCodes\ROM.cpp:28 I[DSPHLE]: UCode_Rom - initialized
18:53:519 Core\HW\DSPHLE\DSPHLE.cpp:199 I[DSPHLE]: DSP_CONTROL halt bit changed: 0954 -> 0950
18:53:530 Core\HW\DSPHLE\UCodes\ROM.cpp:107 I[DSPHLE]: CurrentUCode SOURCE Addr: 0x802186c0
18:53:530 Core\HW\DSPHLE\UCodes\ROM.cpp:108 I[DSPHLE]: CurrentUCode Length:      0x00001f20
18:53:530 Core\HW\DSPHLE\UCodes\ROM.cpp:109 I[DSPHLE]: CurrentUCode DEST Addr:   0x00000000
18:53:530 Core\HW\DSPHLE\UCodes\ROM.cpp:110 I[DSPHLE]: CurrentUCode DMEM Length: 0x00000000
18:53:530 Core\HW\DSPHLE\UCodes\ROM.cpp:111 I[DSPHLE]: CurrentUCode init_vector: 0x00000010
18:53:530 Core\HW\DSPHLE\UCodes\ROM.cpp:112 I[DSPHLE]: CurrentUCode CRC:         0x07f88145
18:53:530 Core\HW\DSPHLE\UCodes\ROM.cpp:113 I[DSPHLE]: BootTask - done
18:53:530 Core\HW\DSPHLE\UCodes\UCodes.cpp:257 I[DSPHLE]: CRC 07f88145: AX ucode chosen
18:53:530 Core\HW\DSPHLE\UCodes\AX.cpp:32 I[DSPHLE]: Instantiating AXUCode: crc=07f88145
18:53:530 Core\HW\DSPHLE\UCodes\AX.cpp:54 I[DSPHLE]: Checking for polyphase resampling coeffs at Dolphin Emulator/GC/dsp_coef.bin
18:53:531 Core\HW\DSPHLE\UCodes\AX.cpp:71 I[DSPHLE]: Using polyphase resampling coeffs from Dolphin Emulator/GC/dsp_coef.bin
19:01:875 Core\HW\DSPHLE\UCodes\UCodes.cpp:195 D[DSPHLE]: PrepareBootUCode 0xdd7e72d5
19:01:875 Core\HW\DSPHLE\UCodes\UCodes.cpp:197 D[DSPHLE]: DRAM -> MRAM: src 0000 dst 8030f890 size 2000
19:01:876 Core\HW\DSPHLE\UCodes\UCodes.cpp:200 D[DSPHLE]: MRAM -> IRAM: src 0021ba38 dst 0000 size 0380 startpc 0010
19:01:876 Core\HW\DSPHLE\UCodes\UCodes.cpp:202 D[DSPHLE]: MRAM -> DRAM: src 00000000 dst 0000 size 0000
19:01:876 Core\HW\DSPHLE\UCodes\UCodes.cpp:206 W[DSPHLE]: Trying to boot new ucode with DRAM download - not implemented
19:01:876 Core\HW\DSPHLE\UCodes\UCodes.cpp:242 I[DSPHLE]: Switching to GBA ucode
19:01:878 Core\HW\DSPHLE\UCodes\GBA.cpp:108 I[DSPHLE]: GBAUCode - Recieved request mail
19:01:879 Core\HW\DSPHLE\UCodes\GBA.cpp:70 D[DSPHLE]: 
003272c0 -> challenge: 23eeaddf, len: 0002e058, dest_addr: 803272e0, palette: 00000006, speed: 00000002 key: 4c8ac8ac, auth_code: 8a87d2b8
19:01:896 Core\HW\DSPHLE\UCodes\UCodes.cpp:195 D[DSPHLE]: PrepareBootUCode 0x07f88145
19:01:896 Core\HW\DSPHLE\UCodes\UCodes.cpp:197 D[DSPHLE]: DRAM -> MRAM: src 0000 dst 00000000 size 0000
19:01:896 Core\HW\DSPHLE\UCodes\UCodes.cpp:200 D[DSPHLE]: MRAM -> IRAM: src 802186c0 dst 0000 size 1f20 startpc 0030
19:01:896 Core\HW\DSPHLE\UCodes\UCodes.cpp:202 D[DSPHLE]: MRAM -> DRAM: src 8030f890 dst 0000 size 2000
19:01:896 Core\HW\DSPHLE\UCodes\UCodes.cpp:210 W[DSPHLE]: Trying to boot new ucode with DRAM upload - not implemented
19:01:926 Core\HW\DSPHLE\UCodes\AX.cpp:689 W[DSPHLE]: Rendering task without prefix CDD1: babe0180
19:01:927 Core\HW\DSPHLE\UCodes\AX.cpp:717 W[DSPHLE]: Unknown task mail: cdd10180
19:01:927 Core\HW\DSPHLE\UCodes\AX.cpp:689 W[DSPHLE]: Rendering task without prefix CDD1: 8030edc0
19:01:927 Core\HW\DSPHLE\UCodes\AX.cpp:717 W[DSPHLE]: Unknown task mail: cdd1edc0
Actions #4

Updated by pokechu22 4 months ago

Can you also get logs for 5.0-17116?

Actions #5

Updated by AdmiralCurtiss 4 months ago

Not particularly interesting:

46:34:905 Core\HW\DSPHLE\UCodes\UCodes.cpp:230 I[DSPHLE]: Switching to ROM ucode
46:34:905 Core\HW\DSPHLE\UCodes\ROM.cpp:28 I[DSPHLE]: UCode_Rom - initialized
46:36:829 Core\HW\DSPHLE\UCodes\UCodes.cpp:230 I[DSPHLE]: Switching to ROM ucode
46:36:829 Core\HW\DSPHLE\UCodes\ROM.cpp:28 I[DSPHLE]: UCode_Rom - initialized
46:36:839 Core\HW\DSPHLE\UCodes\UCodes.cpp:234 I[DSPHLE]: Switching to INIT ucode
46:36:839 Core\HW\DSPHLE\UCodes\INIT.cpp:16 I[DSPHLE]: INITUCode - initialized
46:36:844 Core\HW\DSPHLE\DSPHLE.cpp:199 I[DSPHLE]: DSP_CONTROL halt bit changed: 0004 -> 0000
46:36:846 Core\HW\DSPHLE\DSPHLE.cpp:199 I[DSPHLE]: DSP_CONTROL halt bit changed: 0000 -> 0004
46:36:847 Core\HW\DSPHLE\UCodes\UCodes.cpp:230 I[DSPHLE]: Switching to ROM ucode
46:36:847 Core\HW\DSPHLE\UCodes\ROM.cpp:28 I[DSPHLE]: UCode_Rom - initialized
46:37:547 Core\HW\DSPHLE\DSPHLE.cpp:199 I[DSPHLE]: DSP_CONTROL halt bit changed: 0954 -> 0950
46:37:556 Core\HW\DSPHLE\UCodes\ROM.cpp:107 I[DSPHLE]: CurrentUCode SOURCE Addr: 0x802186c0
46:37:556 Core\HW\DSPHLE\UCodes\ROM.cpp:108 I[DSPHLE]: CurrentUCode Length:      0x00001f20
46:37:556 Core\HW\DSPHLE\UCodes\ROM.cpp:109 I[DSPHLE]: CurrentUCode DEST Addr:   0x00000000
46:37:556 Core\HW\DSPHLE\UCodes\ROM.cpp:110 I[DSPHLE]: CurrentUCode DMEM Length: 0x00000000
46:37:557 Core\HW\DSPHLE\UCodes\ROM.cpp:111 I[DSPHLE]: CurrentUCode init_vector: 0x00000010
46:37:557 Core\HW\DSPHLE\UCodes\ROM.cpp:112 I[DSPHLE]: CurrentUCode CRC:         0x07f88145
46:37:557 Core\HW\DSPHLE\UCodes\ROM.cpp:113 I[DSPHLE]: BootTask - done
46:37:557 Core\HW\DSPHLE\UCodes\UCodes.cpp:257 I[DSPHLE]: CRC 07f88145: AX ucode chosen
46:37:557 Core\HW\DSPHLE\UCodes\AX.cpp:32 I[DSPHLE]: Instantiating AXUCode: crc=07f88145
46:37:557 Core\HW\DSPHLE\UCodes\AX.cpp:54 I[DSPHLE]: Checking for polyphase resampling coeffs at Dolphin Emulator/GC/dsp_coef.bin
46:37:557 Core\HW\DSPHLE\UCodes\AX.cpp:71 I[DSPHLE]: Using polyphase resampling coeffs from Dolphin Emulator/GC/dsp_coef.bin
46:45:895 Core\HW\DSPHLE\UCodes\UCodes.cpp:195 D[DSPHLE]: PrepareBootUCode 0xdd7e72d5
46:45:895 Core\HW\DSPHLE\UCodes\UCodes.cpp:197 D[DSPHLE]: DRAM -> MRAM: src 0000 dst 8030f890 size 2000
46:45:895 Core\HW\DSPHLE\UCodes\UCodes.cpp:200 D[DSPHLE]: MRAM -> IRAM: src 0021ba38 dst 0000 size 0380 startpc 0010
46:45:895 Core\HW\DSPHLE\UCodes\UCodes.cpp:202 D[DSPHLE]: MRAM -> DRAM: src 00000000 dst 0000 size 0000
46:45:895 Core\HW\DSPHLE\UCodes\UCodes.cpp:206 W[DSPHLE]: Trying to boot new ucode with DRAM download - not implemented
46:45:895 Core\HW\DSPHLE\UCodes\UCodes.cpp:242 I[DSPHLE]: Switching to GBA ucode
46:45:898 Core\HW\DSPHLE\UCodes\GBA.cpp:69 D[DSPHLE]: 
803272c0 -> challenge: 23eeaddf, len: 0002e058, dest_addr: 803272e0, palette: 00000006, speed: 00000002 key: 4c8ac8ac, auth_code: 8a87d2b8
46:45:914 Core\HW\DSPHLE\UCodes\UCodes.cpp:195 D[DSPHLE]: PrepareBootUCode 0x07f88145
46:45:914 Core\HW\DSPHLE\UCodes\UCodes.cpp:197 D[DSPHLE]: DRAM -> MRAM: src 0000 dst 00000000 size 0000
46:45:914 Core\HW\DSPHLE\UCodes\UCodes.cpp:200 D[DSPHLE]: MRAM -> IRAM: src 802186c0 dst 0000 size 1f20 startpc 0030
46:45:914 Core\HW\DSPHLE\UCodes\UCodes.cpp:202 D[DSPHLE]: MRAM -> DRAM: src 8030f890 dst 0000 size 2000
46:45:914 Core\HW\DSPHLE\UCodes\UCodes.cpp:210 W[DSPHLE]: Trying to boot new ucode with DRAM upload - not implemented
Actions #6

Updated by AdmiralCurtiss 4 months ago

FYI, reverting the AX changes of that PR seems to fix it. So it's somewhere in there.

git revert f2e833b5c474c8f5e42d413c8994174bc6fccd16
Auto-merging Source/Core/Core/HW/DSPHLE/UCodes/AX.cpp
[master 6b3fc8f7a5] Revert "DSPHLE: Eliminate global state in AX uCode"
 2 files changed, 42 insertions(+), 70 deletions(-)
Actions #7

Updated by pokechu22 4 months ago

https://github.com/dolphin-emu/dolphin/pull/10991 should fix this (though I haven't tested it with GBAs since I don't have a game where the bug applies).

Actions #8

Updated by pokechu22 4 months ago

  • Status changed from New to Fixed
  • Fixed in set to 5.0-17204
Actions

Also available in: Atom PDF