Regarding the Atari 800...
What's the difference between the 6502A and the 'Sally'? Is it simply a revision, or do the changes improve performance?
Retrocomputing Stack Exchange is a question and answer site for vintage-computer hobbyists interested in restoring, preserving, and using the classic computer and gaming systems of yesteryear. It only takes a minute to sign up.
Sign up to join this communityIt seems the 6502C "Sally" added a HALT pin to allow Atari to remove four support chips and thereby build cost-reduced versions of the Atari 400 and 800.
PIN 35 on the SALLY used HALT. There were other advantages. The Wikipedia article is pretty thorough. HALT was used so the ANTIC/GTIA graphics chips could halt the 6502 easier since they shared the same bus.
The SALLY was used in the Atari XL and XE 8-bit computer line, not to mention the 5200 SuperSystem and the 7800 ProSystem gaming consoles.
The original 6502, as well as the 28-pin 6507, had a "READY" pin that could be used to force the CPU to idle indefinitely during read cycles, but there was no mechanism to idle the CPU during write cycles. Thus, many 6502-based systems which needed to steal bus cycles from the 6502 would need to drive READY low three cycles before starting to take over the bus, so that if the signal arrived just as an interrupt was occurring the three writes could be completed while the 6502 still controlled the bus.
While I haven't studied the Atari 400 and 800 schematics, my understanding is that they gate the clock to the CPU rather than using the READY line. This has the benefit of allowing them to steal individual cycles without the three-cycle "warm-up" required on other systems, but has the disadvantage that 6502 will malfunction if the clock is idle for too long, making it necessary to ensure that the 6502 never goes too long without being able to run for at least one clock cycle. Having a proper "HALT" like which would work on writes as well as reads would simplify this immensely.