Open redacted173 opened 4 years ago
Also, r-type 1 (GB, not GBC) doesn't initialize WAV RAM before using it. The power-on value is something other than $00's. Some sensible values depending on what you are trying to model should be used out of reset.
Thanks for the information/reports! Improving the APU's accuracy is one of the next things I'm planning on working on, so this is very helpful.
The duty position, _state.DutyPos, should be advanced by 1 when NRx3/NRx4 are written to update frequency under some conditions. This temporarily increases the frequency which causes a ringing effect during the timer countdown in Super Mario Land after finishing a level. Other games use this, too.
https://github.com/SourMesen/Mesen-S/blob/master/Core/GbSquareChannel.cpp#L194