Well, no emulator is easy to code unless you know exactly how the emulated system works; how it stores data, registry usage, memory usage, video signal mapping, input handling etc. etc. ...and you have to be very experienced with different code debuggers. The first thing would be to learn all that is possible about the sytem you want to emulate. Next, you'll need the technical documents, without those you'll get nowhere. For the tech docs, you can always check http://www.zophar.net or other emulation and programming related sites. Then knowing C++ or Assembly is is a big plus, but Java and Visual Basic works too...although the results are worse, unless you now how to optimise Java and VB code to it's limits. Finally, coding an emulator isn't a walk in the park and requires skill, time and dedication. If you have any doubts, just walk away now. Also, there are so many emulators for those *easy-to-code* systems that a new emu won't make a big difference, unless it has something that the others seriously lack. P.S. A note to those that haven't heard already: Forgotten (the VBA author) has decided to stop developing VBA and is moving out of the emu-scene.