This is part 1 of an article series on emulation development in JavaScript; ten parts are currently available, and others are expected to follow. Part 1: The CPU Part 2: Memory Part 3: GPU Timings Part 4: Graphics Part 5: Integration Part 6: Input Part 7: Sprites Part 8: Interrupts Part 9: Memory Banking Part 10: Timers The emulator described in this series is available in source form: https://git