Hi Count, Thanks for responding to my post, I don't know what you mean by "a modern CMOS version of the 6502, which has a completely static core", What is this?
Hi! If your device is really old, it probably uses an older 6502 made in the 80s or 90s. These chips are quite different from the modern 65C02 that is still made and sold by WDC today, like the one that Ben Eater uses in his videos.
The modern 65C02 has what's called a “static” core that can be stopped and held in its current state for an indefinite period of time (as long as you supply the appropriate voltage and meet a few other conditions). This allows you to single-step the processor by supplying clock pulses that come at arbitrary intervals; you can quite literally pulse the clock by hand (though you need to be cautious of bounces), and the CPU will happily follow along, once cycle at a time. This is actually pretty cool, because you get to see a lot of what the processor does as it works its way through executing each operation.
The old 6502s, like, say, the stock ones you might find in an Apple II or a Commodore 64, cannot do this; they must be supplied a clock of a minimum frequency, or they will misbehave and exhibit unpredictable behaviour. I can't remember the exact minimum frequency, but IIRC it's at least several kHz. If you try to single-step them using Ben's approach, you will get all kinds of confusing weirdness.
There is, however, a trick that you can use even with the old CPUs. IIRC, it was something that Woz came up with and takes advantage of the CPU's ability to suspend execution using the RDY signal. I've attached the circuit below, but never tried it myself, as I typically use modern CPUs. I hope this helps!
—CC