one is emu.cr other is
http://www.emutopia.com/index.php/downloads-emulators
every emulator have source of sourceforge or github its important to know name
im dont know what skills you have but for write emulator you must have great math skills also know convert hex to binary and to octal number systems
at least one programming language also be good ad reverse engeering
know how works gpu,cpu,memory of pc and simulated hadware example how work nes console
there you go in emulation scene to write emulators
other way is beta testing you will know the same but report about errors in code
have github and sourceforge acount is important fix of code is added of course you must know at least GIT and SVN other way to make path is CVS
most popular is C++.C#(c sharp),C most of emulators are write in those because of porting (port mean rewrite code for run on every platform even console)
also those are very easy to fixed and learn a C language is used in microcontrolers Atmel Company
ffmpeg codec is writen in C also nes emulator fakenes compile with Visual Studio or GCC is not important its the same language but code can have few differences
also know doxygen its documentation for source