Ugh. This thing is going to kill me.
I found the issue in Link's Awakening and basically most games. V-Blank interrupts don't fire at the correct time. I just have no clue how to fix it right now. :(
I did find some resources, but they're the sort of resources with walls of ASCII text and ASCII graphs and stuff. UGH. This isn't 1989, for fuck's sake, we have colour. :|