Possible duplicate of How do Emulators Work and How are they Written?
I want to program an emulator ( may be NES or C64, I haven't decided yet ), I know there are lots of them so many may ask why would someone want to make one from scratch, but I want to include some specific characteristics in it, and also for the sake of building it myself.
I'd like to read a guide from someone who has built one and can transmit the experience, it doesn't have to be platform-specific ( better if it's not ) since I know how to program, what I don't is how to emulate.
Well, you can google lots of articles, but there's one resource I found particularly useful :
http://www.nesdev.com
Here you'll find pretty much all you need to know to write a working NES emu, from complete hardware specifications, to the instruction set, and test roms. Have fun.