"Developing Emulators for Beginners" by Tim Costigan [video]
youtube.com