Open dlbuhtig4096 opened 6 days ago
don't hold your breath for this to get fixed. The ensata protocol could be doing a million things. You guys with whatever test case you have need to go figure that stuff out on your own.
I was just reporting it first.
Ensata has a debug register 0x04fff200 that is not emulated by DeSmuMe currently, which seems to be the option to enable and disable sound. When Ensata emulation is enabled, the game writes 0x10 to 0x04fff200 and get 32 bits response from it. If it returns zero, then all sound would be disabled.
So here's the quick fix to this:
{
if(addrMasked == eng_3D_CLIPMTX_RESULT) return true;
if(addrMasked == 0x04FFF000) return true;
if(addrMasked == 0x04FFF010) return true;
if(addrMasked == 0x04FFF200) return true;
}
case 0x04FFF200:
return;
case 0x04FFF200:
return 1; // Or perhaps some ui option flag
I am not pretty sure if the register would be used for other purpose, but I haven't seen any other access than audio control so far.
great work. you're on track. do it on a fork and test it and send a PR
Just tested and it should work. Please check #851 and merge.
State your operating system:
Windows11
DesMuME version
nightly
Issue
Games output no audio when ensata emulation is enabled. Once ensata is disabled, audio works again.
I am not sure if links are allowed here, as they are related to the Nintendo leak occurred in 2020 and GameFreak leak happening recently.