Reason why 6502 ignores RDY during write cycles?

For discussing the 65xx hardware itself or electronics projects.
User avatar
Arlet
Posts: 2353
Joined: 16 Nov 2010
Location: Gouda, The Netherlands
Contact:

Re: Reason why 6502 ignores RDY during write cycles?

Post by Arlet »

So, in theory somebody could make a design where the clock is stopped for somewhat less than 20 microseconds, and then do a single 'refresh' cycle. If they really wanted to use the NMOS part, of course.
User avatar
BigEd
Posts: 11464
Joined: 11 Dec 2008
Location: England
Contact:

Re: Reason why 6502 ignores RDY during write cycles?

Post by BigEd »

I think that would work. It might not suit a life-critical application!
Tor
Posts: 597
Joined: 10 Apr 2011
Location: Norway/Japan

Re: Reason why 6502 ignores RDY during write cycles?

Post by Tor »

BigDumbDinosaur wrote:
That's because there is no delete button. :D Everyone knows that once it's on the Internet it never goes away. :lol:
I wish that were true, sometimes.. :) see "The secret, hidden, transparent 6502 DMA channel" (the illustrations are gone.)
(I'm currently hunting another info page which disappeared with no trace in archive.org or anywhere else. With little hope)
User avatar
BigDumbDinosaur
Posts: 9428
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: Reason why 6502 ignores RDY during write cycles?

Post by BigDumbDinosaur »

Tor wrote:
BigDumbDinosaur wrote:
That's because there is no delete button. :D Everyone knows that once it's on the Internet it never goes away. :lol:
I wish that were true, sometimes.. :) see "The secret, hidden, transparent 6502 DMA channel" (the illustrations are gone.)
(I'm currently hunting another info page which disappeared with no trace in archive.org or anywhere else. With little hope)
I, of course, was being somewhat sarcastic. :D As you've noted, things do seem to disappear now and then. It's the embarrassing stuff that seems to stick around.
x86?  We ain't got no x86.  We don't NEED no stinking x86!
User avatar
GARTHWILSON
Forum Moderator
Posts: 8774
Joined: 30 Aug 2002
Location: Southern California
Contact:

Re: Reason why 6502 ignores RDY during write cycles?

Post by GARTHWILSON »

BigEd wrote:
Ah, I see 50kHz minimum is mentioned on a datasheet. That gives a max cycle time.
http://archive.6502.org/datasheets/mos_ ... v_1985.pdf
via viewtopic.php?f=4&t=3371
and
Quote:
So, in theory somebody could make a design where the clock is stopped for somewhat less than 20 microseconds, and then do a single 'refresh' cycle. If they really wanted to use the NMOS part, of course.
The data sheet is not clear on whether the duty cycle must be 50% at the minimum guaranteed operating frequency; but if it does need to, you would need to have a clock edge at least every 10µs, which is the half cycle.
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
User avatar
Dr Jefyll
Posts: 3526
Joined: 11 Dec 2009
Location: Ontario, Canada
Contact:

Re: Reason why 6502 ignores RDY during write cycles?

Post by Dr Jefyll »

We know that datasheets dictate timing in terms of pulse-width, not duty cycle, so in that sense we can choose any duty cycle we please as long as pulse-width spec's are satisfied. The linked Commodore datasheet is a bit of a headscratcher, though! :) I quickly noticed two typos, and later a couple of goofy but serious problems I won't bother describing unless someone asks. Also, regarding the point at hand, I find it odd that Commodore lists both min and max figures for PWHØ0 (ie, Ø0 (IN) Pulse Width).

Rockwell's NMOS '02 datasheet makes more sense, specifing a min figure only, as I'd expect. (Both datasheets state a limit for slowest operation, but they do so by means of a separate spec -- either min clock frequency or its reciprocal, max cycle time.)
Rockwell NMOS '02 timing.png
Here (above) is what Rockwell has to say, and I must say I sure as heck would rather use their datasheet than Commodore's!! I expect the two chips are fundamentally the same, even though the exact figures may differ. It looks to me as though it's possible to stop the clock either high or low for periods up to about 10 uS (Rockwell) or 20 uS (Commodore). The actual (as opposed to specified) limit may be in the millisecond range, as Ed suggested.

I agree the 'C02 offers even more timing freedom (and other major advantages as well). But you can go a long way with 10 uS -- certainly in terms of cycle-stretching, and even DMA.

-- Jeff
Attachments
rockwell_r650x_r651x.pdf
(2.3 MiB) Downloaded 63 times
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
User avatar
cbmeeks
Posts: 1254
Joined: 17 Aug 2005
Location: Soddy-Daisy, TN USA
Contact:

Re: Reason why 6502 ignores RDY during write cycles?

Post by cbmeeks »

Concerning the Apple IIe and stopping the clock...

I could be wrong but I'm pretty sure the Apple IIe (or II series) did not stop the clock even while rendering video.

IIRC, the video hardware would access the addr/data bus during the low phase of the cycle and the CPU gets it during the high phase. Or something like that. Effectively allowing both devices to access data at the same time. Well, same clock time.

At least that's how I understand it works
Cat; the other white meat.
User avatar
barrym95838
Posts: 2056
Joined: 30 Jun 2013
Location: Sacramento, CA, USA

Re: Reason why 6502 ignores RDY during write cycles?

Post by barrym95838 »

cbmeeks wrote:
... I could be wrong but I'm pretty sure the Apple IIe (or II series) did not stop the clock even while rendering video ...
Apparently it wasn't a stop, but more of a periodic stretch:

viewtopic.php?p=29095#p29095

Mike B.
User avatar
BigEd
Posts: 11464
Joined: 11 Dec 2008
Location: England
Contact:

Re: Reason why 6502 ignores RDY during write cycles?

Post by BigEd »

As RDY was brought to the internal expansion bus, it's possible that some Apple I/O cards would use RDY to stall the CPU while they did some DMA. As you say, the clock itself continues, in its special irregular way. But the programmer experience could be that the CPU stops for DMA.
Post Reply