Cool, you wrote your own NES emulator for this? This is off-topic, but I've been meaning to write an emulator for ARM Cortex-M platforms as an introduction to the idea, but haven't had much luck finding good beginner-friendly resources.
So...thanks for writing up and collating so much information about the NES in one place!