Hacker News new | ask | show | jobs
by toast0 2531 days ago
> gave you a sprite zero hit test so you could get the timing correct

This was a workaround to avoid Atari patents. On the 2600 you could write to a register to halt the CPU until horizontal blanking (commonly written as sta WSYNC), to get perfectly synchronized to the next scanline. Sprite zero is more flexible, but the timing isn't as precise.

1 comments

Given that the NES had NMI and the 2600 didn't, I think that NMI probably should have been wired to horizontal blank to begin with. I'm sure that there is some reason why this wasn't done, but I can't understand why.
That would have wasted precious cycles for games that didn’t need it. The ‘n’ in NMI stands for non-maskable.
You can always mask it (enable/disable) at the place that triggers the NMI.
Adding a a gate with jellybean logic was a noticeable expense in the 80s and would still be today.