NES Controller Serial Strobe: Latching, Port Reads, and Open-Bus Bits
Implement NES controller reads as a shared strobe and two timed serial ports, preserving button order, open-bus lines, device variants, and DMA edge cases.
tag
5 posts
Implement NES controller reads as a shared strobe and two timed serial ports, preserving button order, open-bus lines, device variants, and DMA edge cases.
Trace MMC3 IRQs from filtered PPU A12 transitions through latch reloads, counter decrements, enable and acknowledge writes, and board-specific timing differences.
Follow NES sprite evaluation from primary OAM through eight secondary slots, the diagonal overflow bug, sprite fetches, and scanline-visible state.
Trace NES DMC sample fetches, APU frame events, OAM-DMA contention, and controller-read glitches with cycle-aware emulator models and tests.
A timing-focused guide to NES VBlank status, PPUCTRL NMI gating, PPUSTATUS reads, regional timing, races, and emulator validation.