The 6502 you're implementing is the exact chip that powered the NES, Apple II, Commodore 64, and Atari 2600, and getting its addressing modes and flag updates bit-for-bit correct is what the community's nestest.nes and blargg cpu test ROMs exist to verify. Real NES emulators like Mesen and FCEUX live or die on this same fetch-decode-execute core.