Very few (if any) games use the BRK instruction. Super Mario Bros. definitely does not.
Not mirroring CPU RAM might work OK for most games, I don't know of any games that use the mirrored RAM, but it is possible on the NES.
If you want it to be accurate, you could detect every read and write to the registers (why not treat them as normal memory, except they have a different meaning when read? Sorry, I've never done PC programming, so I dunno). But often the LD- and ST- instructions are the only ones used.
Isn't there a standard NES movie format? (NSM or something? Or maybe that was only save-states..)