A while ago, one of my online friends acquired a cart for Erika to Satoru no Yume Bouken and discovered that the title music has glitched wavetables in the accompaniment when starting from power on. This does not seem to be documented well as I could only find one clear-cut instance of it occurring online: https://youtu.be/8pXWpZ4cvQk
After checking the code in Mesen's debugger, I found out that the game neglects to initialise all of the N163's Sound RAM, yet the music driver seems to rely on some sections of it being filled with static values. I then decided to check the Sound RAM initialisation behaviour in various emulators. Here is what I know so far based on empirical testing with this game:
- Mesen (+ Mesen-X) initialises Sound RAM with unknown static values regardless of the RAM init setting. (cannot view Sound RAM)
- puNES initialises it with unknown static values. (cannot view memory let alone set the RAM init value)
- BizHawk initialises it with unknown static values regardless of the RAM init override. (only checked with NesHawk so far)
- FCEUX correctly initialises the Sound RAM in accordance with the RAM init setting.
Because FCEUX emulates the behaviour correctly, I was able to produce a patch for the game which fixes the Sound RAM initialisation. It has been attached to this post (I plan on submitting this to RHDN eventually). The accompaniment wavetables should sound correct (i.e. the same as it would when the song also plays at the station) regardless of the RAM init setting.
Help with investigating this behaviour on flashcarts, "emulation-box" systems, and other emulators would be very helpful.
Adding this information to the NESdev Wiki would also be nice: https://www.nesdev.org/wiki/Game_bugs#R ... ter_values
(I honestly wasn't expecting FCEUX to get something like this right...)