How to Build an NES Emulator