Writing an NES emulator

Last updated:

These notes aren't meant to be an exact description of the silicon.

The angle is software: when something at the hardware level (an internal latch, a dummy read, an unfixed address sitting on the bus for a cycle) shows up here, it's because reproducing that detail in code is what lets an emulator imitate the system's quirks. If a hardware element or behaviour has no observable consequence, it's not mentioned or expected to be represented in the software.