September News (Patreon)
Content
today we will share some news about the upcoming Cemu release 1.9.2.
This update is scheduled to release on 25th September.
Big audio update
The main focus of version 1.9.2 has been audio.
First a bit of history: When we originally started working on Cemu we already had some experience with emulators, but we had never worked on anything the scale of Cemu. Naturally, when you lack knowledge there is a tendency to make bad decisions without realizing it. One of those early flaws in our way of thinking was '99.9% accuracy is good enough'.
During early development of Cemu, we would occasionally prioritize progress over accuracy. Meaning that we sometimes took shortcuts when we believed that there will be no side effects. The lesson that took us a long time to learn: There are always side effects, but they may be hidden for a long time.
So how does this all relate to sound? Our current way of handling sound emulation is riddled with these aforementioned 'shortcuts'. Initially, our early sound code was mostly based on educated guesses. In Cemu 1.6.3 we somewhat rectified this mistake by rewriting a lot of the audio code, but not everything. Today, even with what can be considered '99% accuracy' in sound emulation, there are still many unsolved audio issues. It's that 1% in difference that leads to a plethora of problems. Worst of all, in many cases we understand why sound is not working as intended but cannot fix it because it would lead to something else being broken.
So for 1.9.2 we decided to go back to the drawing board. We scrapped all audio related code and started from scratch. But this time we made sure to first meticulously analyze every single function of the original Cafe OS sound drivers. We then reimplemented them as close as possible to make sure we replicate even the tiniest quirks of the original Wii U sound code.
Sure enough, after almost 4 weeks of non-stop work we have arrived at a point where the new sound implementation is on par with the old one in regards to supported features. As expected, a ton of sound problems have been fixed as we went from 99% to 100% accuracy. That said, we aren't done yet and work on audio will continue until October.
Here are some of the sound improvements that we found in our tests for 1.9.2:
- Stereo mixing working as intended in every game
- Audio output working in VC games and NES Remix
- No (or at least far less) crackling in games that were prone to it (Wind Waker HD for example)
- Correct volume for most sound effects
- No more random/corrupted/looping sounds
- No stuttery sound (Super Smash Bros)
Any other remaining sound issues will likely be addressed in 1.9.3.
On a side note, we also implemented the utilization of RDTSC in this release. Simply put, RDTSC allows us to accurately and quickly measure time with nanosecond precision. This is especially useful for audio where some games rely on exact timing.
Customizable mlc01 path
Cemu 1.9.2 will add a small convenience feature as well:
the ability to use a custom path for the mlc01 directory (specified via command line parameter). This allows to store game updates, dlcs and the save folder independently from the Cemu binary.
Update on some other issues
As usual, the new version will include minor fixes and improvements:
- Updated SSB will boot again
- Input improvements and bug fixes
The XCX freeze issues are still under ongoing investigation.
New forum
Lately we noticed that a lot of the questions that come up on the Cemu subreddit and discord have been asked and answered before. The problem is that due to the nature of discord and reddit, information quickly moves out of sight. Both platforms are more suited for discussing recent news and events but they aren't ideal for something that should be visible for a long time, like guides or common troubleshooting questions.
So in order to alleviate this problem and hopefully cut down on the repeated questions, we decided to create a forum. You can find it at https://forum.cemu.info