Start off by learning Q-Basic move on to c, and then to C++. Get advanced in that, fullly understanding classes, inheritance, pointers, lists, templates... Then start dabbling in Visual C++. Get some APIs working. Then get into DirectX, making sure to have a good grasp of Direct Draw, Direct Sound, and Direct 3D. Make a couple of games with sound for practice. Then start applying all your knowlege to making an emulator.
If you've never programmed before come back in 3 years when you'r done. If you're a good programmer already, and already have all that under the belt, then I'll see you after a few months of hard labor