This has become a VERY Frequently Asked question therefore this new shiney Sticky thread is appearing. Suggestions other than asking how to start (which the thread is about) are welcome, I will remove anything that doesn't relate to the topic or is asking what to do (since the entire topic is what to do) to start programming an emulator.
- Have a programming language you are familiar with, it doesn't matter if it's C, C++, C#, or even Visual Basic (scarey that is). It just has to be something you are familiar with.
- Learn to program. Yes you must know how to program in order to make an emulator because an emulator is a program.
- Do something SIMPLE to start out. I don't suggest trying to make a WII emulator because .. you'll be looking a LONG time for information on that. There is a LIST of simple console emulation developement threads at the top of the programming forum for this very reason. here are a few GameBoy, Chip8, NES (Nintendo Entertainment System), SMS (Sega Master System), PC-Engine, Space Invaders, and there likely will be more. Pick the SIMPLEST first (Chip8 for example) because you will be very confused at first otherwise.
- Get TOOLS, don't sit there and say "WHAT do I get to make a program?" Yes there are tools available free on the net LOOK AT THIS thread to find some links (please let me know of dead links).
- ROM images et al. DO NOT ask for ROM images, you should be able to find these without asking where to get them. Find some demo ROM images to test your emulator I will add a post to this thread for that.