6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Oct 05, 2024 10:53 pm

All times are UTC




Post new topic Reply to topic  [ 2 posts ] 
Author Message
PostPosted: Mon Feb 17, 2014 8:51 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10949
Location: England
Activate curmudgeon mode!

I feel I must correct this oft-repeated mistake:
BigDumbDinosaur wrote:
The procedure to get the 65C02 to relinquish control is to first assert RDY (low true) to halt further processing. When Ø2 goes high, the MPU will stop on the current instruction. At that time you would assert BE to "disconnect" the MPU from the buses. You would then enable the Arduino. After the Arduino has completed its work you would get it off the buses and then de-assert the MPU's BE input. Once BE has been deasserted you would de-assert RDY, causing the 65C02 to resume processing.


In fact no! RDY means READY and is usually high, which means it is asserted. To stop the CPU, you say that you are "not READY" which means you take the signal low, which means you have de-asserted it.

The problem here, for those who have a problem, is that we're used to active-low control signals, and we're used to taking them low to make them active, and so we're used to speaking of a low signal as an asserted signal. And that's all fine and correct for signals which are active low. It's all topsy-turvy for those rare signals are active high, such as RDY.

Edit: There's another thing about RDY: we tend to leave it high because we want the CPU to run free. So we tend to think of it as a control for stopping the CPU. If it were called notSTOP it would have the same electrical effect - pull it down to STOP the CPU - and we would then be right to use all the language appropriate for an active-low signal. But it isn't notSTOP, it's RDY. So it's active-high.

It's a mistake, and it's the opposite of precision and pedantry, to use the term 'asserted' to mean 'taken low' in all circumstances!

Admittedly we don't help ourselves by often missing out the indication that a signal is active low, whether we use \IRQ, nIRQ, IRQ*, IRQ-with-an-overbar, or whatever. I'm as guilty of this as anyone. By doing this we make it easy to miss that RDY has no such indicator.

Cheers
Ed


Last edited by BigEd on Mon Feb 17, 2014 9:12 am, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Mon Feb 17, 2014 8:56 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8521
Location: Southern California
Yes, and the same goes for BE (bus-enable). To enable the processor's bus drivers, it must be high.

As I was getting into the 74xx logic in around 1980, I remember it was always puzzling to think of "low" as "yes" and "high" as "no," as with '138 outputs, and why there were more choices in NANDs and NORs than with ANDs and ORs.

_________________
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?


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 37 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: