In college I wrote a Game Boy Emulator in C:
It does not support sound and some games that were released in special formats do not work but overall it is almost fully functional. It also supports keyboard customization. While it was a long time ago it's still one of the projects I'm most proud of.