Sound reset problem

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Sound reset problem
by on (#16601)
- By following the current sound reset description, of unaffected registers and counters, my emulator appears to glitch the sound on reset, specially if sweep or envelope units are active right on reset triggering. To be specific, those multi-game ROMs, in the game selection screen when you move that arrow up and down, or press start. If I press reset, then it's like sweep would be disabled or glitched.

- Any help?

by on (#16603)
Do those multis glitch the same way on NES hardware?

by on (#16612)
Here is some preliminary data I found in my notes:
Code:
APU registers affected by reset

-- = unchanged

Addr    Value   Additional internal state
-----------------------------------------
4000    --      envelope = 0
4001    --
4002    00
4003    --

4004    --      envelope = 0
4005    --
4006    00
4007    --

4008    --      linear counter = 0
400A    --      waveform position unchanged
400B    --      linear halt = false

400C    --      envelope = 0
400E    -0      shift register unchanged
400F    --

4010    --
4011    00
4012    --
4013    --

4015    00
4017    --

by on (#16617)
Thanks, awesome, I'll get a try.

EDIT- can you confirm a write into 4017h using the last value written?
EDIT2 - nope. Example using SMB1: during the Mario jump sound, if I press reset, channel becomes "muted" and sweep doesn't work.

EDIT3 - it seems the problem relies on 4017h, by writting the last value written on reset.

EDIT4 - *bump*? Well, so the idea of writting the last value into 4017h to restart the current APU mode (on reset) isn't true? Could someone confirm this info, please? ^_^;;..