For NES games I play them in fceux with the code/data logger running. Turn the logger on, do a power on, hit reset once, and play the entire game and do everything you can imagine the game does, every situation. Different types of deaths, kill enemies in different ways, enter every secret room, get all different endings, pause, etc etc. Make it so you know that every code was executed and every data was read. Then go to the hex editor and every bytes that aren't marked are probably unused, unless you missed something. You can freely use savestates for this process, I think.