This is part 8 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 Please note: This article has been updated to remove an incorrect interrupt ha