Dusting off this thread as I prepare for renewed NES console testing. Surprisingly there are some notable changes since I last looked at this.
Probably one of the first important things to look at is this:
https://forums.nesdev.com/viewtopic.php?f=3&t=18414
This glitch (currently unimplemented in NESHawk, but is in Mesen) actually effects a published TAS:
http://tasvideos.org/3314M.html . It also occurs in Streemerz (but I can't tell yet if it effects sync.)
The internal workings of Mesen timing have changed significantly as well. I used to be able to match execution between NESHawk and Mesen but as of 0.9.9 I am unable to do so. There isn't much testing here yet, could be interesting, maybe just using current Mesen will solve all the problems. Unfortunately, Sour has since left emulation, so if something doesn't work, it's not really clear what to do.
I have several games lined up for testing:
Donkey Kong: No agreement between NESHawk, Mesen 0.9.8, and 0.9.9, will be interesting to see what console shows.
Nightshade: Again no agreement
Bionic Commando: NESHawk and both versions of Mesen agree that this run should work on console, but it never has.
Lolo 3: shows interesting power up timing variability between emulators
Lots of interesting stuff to work on. My goal (still) is to see Streemerz work on console.