umm, well the first tool... is experience. if its an emulator you're looking to program and have no experience, you have some things to learn. first, start learning c++. good tutorials can be found online, or you can buy a book and learn that way. once you feel you have a pretty good grasp on that, you can start learning the windows api (unless you want to write your emulator for dos, but that is uncommon these days). once you feel you have a good grasp on that, start reading up on docs for the console you want to emulate. Then, you can start writing the actual emulator. but beware, it is not a piece of cake!