Disaster with WDC's 6522.
Disaster with WDC's 6522.
I have used all kinds of varieties of 6502 and 6522, from MOS, Synertek, Rockwell, GTE, CMD, and on. Never had any problems with any of those.
Until I've run out of CMD's 65C22 and had nothing left other than go to Western Design's current 6522 (whatever they mark it).
I can't make it work. They have eliminated the pullup resistors on Inputs and substituted some "buss control". Even when I install pull-up resistors, the 6522 still will not work and behaves in random, peculiar manner. Who knows what else has been changed and who knows if they are even aware of it.
Being in a deep do-do now, I am using old Rockwell 6522, these work like a charm. Except they use too much of power. I am however using Western Design's current 6502 and that one doesn't give me trouble.
Do you know any source of old 65C22 of any variety, except for Western Design?
Until I've run out of CMD's 65C22 and had nothing left other than go to Western Design's current 6522 (whatever they mark it).
I can't make it work. They have eliminated the pullup resistors on Inputs and substituted some "buss control". Even when I install pull-up resistors, the 6522 still will not work and behaves in random, peculiar manner. Who knows what else has been changed and who knows if they are even aware of it.
Being in a deep do-do now, I am using old Rockwell 6522, these work like a charm. Except they use too much of power. I am however using Western Design's current 6502 and that one doesn't give me trouble.
Do you know any source of old 65C22 of any variety, except for Western Design?
I don't know what the problem is, but the WDC W65C22 part works perfect and as-advertised for me. There are some things which have changed from the earlier parts: IRQB is no longer open-drain. To facilitate the higher CPU speeds, it is now direct-driven. To turn it into an open-drain signal, stick a diode in its path:
This way, when IRQB is high, it'll reverse-bias the diode, and thus, will appear to be high-impedance from the point of view of the remainder of the circuit.
Other than that, literally everything else remains the same as I remember it being described by Commodore's documents way back in the early 80s.
What I want to know is, seeing as how the serial-port bug still exists in 65C22, do the timer race-conditions also still exist? This was apparently a problem for the Commodore PET series of machines, though I don't recall hearing any issues for the VIC-20. The VIC-20 was the last CBM 8-bit product to use 6522s; everything from then on has either been 6526 CIAs or 8520 CIAs.
One very important thing to remember: make sure your clock slew rates are within spec!!! I cannot over-emphasize this. The 65816 I was using in the Kestrel 1 was flaking out big-time because my clock wasn't within specification. When the data sheet says 5ns max slew rate for the clock, they mean it! If your clock is not within spec, I recommend using a 74F-series logic gate or two to clean it up.
Code: Select all
|
IRQB|o----|<|----> IRQB "open-drain"
|
Other than that, literally everything else remains the same as I remember it being described by Commodore's documents way back in the early 80s.
What I want to know is, seeing as how the serial-port bug still exists in 65C22, do the timer race-conditions also still exist? This was apparently a problem for the Commodore PET series of machines, though I don't recall hearing any issues for the VIC-20. The VIC-20 was the last CBM 8-bit product to use 6522s; everything from then on has either been 6526 CIAs or 8520 CIAs.
One very important thing to remember: make sure your clock slew rates are within spec!!! I cannot over-emphasize this. The 65816 I was using in the Kestrel 1 was flaking out big-time because my clock wasn't within specification. When the data sheet says 5ns max slew rate for the clock, they mean it! If your clock is not within spec, I recommend using a 74F-series logic gate or two to clean it up.
kc5tja wrote:
The VIC-20 was the last CBM 8-bit product to use 6522s;
Then another thought, the VIC-20 is made in 1981 I think? What about the successors of the 8000 series like the CBM 6x0 and 7x0?
But this has nothing to do with the original subject, so don't pay to much attention to it :)
Code: Select all
___
/ __|__
/ / |_/ Groetjes, Ruud
\ \__|_\
\___| URL: www.baltissen.org
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Related past discussions here on the forum:
http://www.6502.org/forum/viewtopic.php?p=895#895
http://www.6502.org/forum/viewtopic.php?t=195
WDC has changed the datasheet since we had those discussions, mostly providing more information and fixing some errors. I had not seen the .7VDD V(IH) requirement before in my older data sheets, but I just now looked at the one at http://www.westerndesigncenter.com/wdc/ ... 65c22s.pdf and see it.
http://www.6502.org/forum/viewtopic.php?p=895#895
http://www.6502.org/forum/viewtopic.php?t=195
WDC has changed the datasheet since we had those discussions, mostly providing more information and fixing some errors. I had not seen the .7VDD V(IH) requirement before in my older data sheets, but I just now looked at the one at http://www.westerndesigncenter.com/wdc/ ... 65c22s.pdf and see it.
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?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
Thanks for suggestions.
Thanks to all for your invaluable comments and suggestions.
I have been using WDC 65x02 for two years now, without any problem so far and without modifying the circuits.
My problem is their 65x22. I don't have time to mess with WDC spec sheets to find how they differ from CMD, etc. I have to produce, deliver products.
Foolishly, I have allowed my 65c22 to deplete to only a few pieces left, assuming that the WDC's 65x22 will be a direct replacement, as their spec sheet implies. It is not, unfortunately.
For example, I drive with one 65x22 a 4*4 matrix keypad. You use four pins inputs, four pins output to decode it. The WDC does not have pull-up resistors for the input pins, so I soldered 10K resistor network to those pins (I only have 10k network on hand). It still doesn't work, the WDC part goes beserk, out of control. So, there must be more to it than installing pull-up resistors.
I am aware of the other known issues, like IRQ, but don't have time for that so far. Time is too valuable to waste.
So, I did ask WDC for help and they are looking into it.
That probably may not solve my problem immediately, however. For now, I will have to use my Rockwell 6522 that I have on hand and try to buy some R65C22 or similar from wherever. Speed is not the issue in my applications.
Anyhow, aren't the new things supposed to be better than the old workhorses?
I have been using WDC 65x02 for two years now, without any problem so far and without modifying the circuits.
My problem is their 65x22. I don't have time to mess with WDC spec sheets to find how they differ from CMD, etc. I have to produce, deliver products.
Foolishly, I have allowed my 65c22 to deplete to only a few pieces left, assuming that the WDC's 65x22 will be a direct replacement, as their spec sheet implies. It is not, unfortunately.
For example, I drive with one 65x22 a 4*4 matrix keypad. You use four pins inputs, four pins output to decode it. The WDC does not have pull-up resistors for the input pins, so I soldered 10K resistor network to those pins (I only have 10k network on hand). It still doesn't work, the WDC part goes beserk, out of control. So, there must be more to it than installing pull-up resistors.
I am aware of the other known issues, like IRQ, but don't have time for that so far. Time is too valuable to waste.
So, I did ask WDC for help and they are looking into it.
That probably may not solve my problem immediately, however. For now, I will have to use my Rockwell 6522 that I have on hand and try to buy some R65C22 or similar from wherever. Speed is not the issue in my applications.
Anyhow, aren't the new things supposed to be better than the old workhorses?
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Quote:
Anyhow, aren't the new things supposed to be better than the old workhorses?
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?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
Re: Thanks for suggestions.
Icy wrote:
Anyhow, aren't the new things supposed to be better than the old workhorses? 
I know you're on a tight schedule, but perhaps now might be a good time to consider EOLing the current hardware design on the basis of parts availability, and allocate some resources to renovating the circuit to handle the new parts. I suspect it won't take much in the way of circuit modifications. It's probably just a matter of cleaning up the CPU-side of the interface. I don't see the peripheral side being much different, personally. Maybe I'm wrong.
O.K., got it fixed. As several of you have suggested, adding DIODE to IRQ output of W65C22S, pin 21, solved the problem. What puzzles me, since I have two W65C22S on the board and only one has the diode, how come it works? When IRQ of the one W65C22S with the DIODE goes low, it also pulls down IRQ of the other W65C22S. I do realize that this IRQ is output, but why it doesn’t work without DIODE?
The change to W65C22S requires adding a lot of discrete components (pull-up resistors and preferably two diodes). This is opposite what I am trying to do; I want to minimize the components. So, I will use non-WDC 65C22, if I can get them. After that, I’ll switch to W65C22S. I am, however, using W65C02, with no modifications and no problem.
Again, thank you for your suggestions.
Icy
The change to W65C22S requires adding a lot of discrete components (pull-up resistors and preferably two diodes). This is opposite what I am trying to do; I want to minimize the components. So, I will use non-WDC 65C22, if I can get them. After that, I’ll switch to W65C22S. I am, however, using W65C02, with no modifications and no problem.
Again, thank you for your suggestions.
Icy
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Quote:
When IRQ of the one W65C22S with the DIODE goes low, it also pulls down IRQ of the other W65C22S. I do realize that this IRQ is output, but why it doesn’t work without DIODE?
WDC's went to the totem-pole output because they didn't want to live with the speed limitation imposed by the slow rising edge of the passive pull-up used before. This is shown in the 6502 interrupts primer.
Quote:
The change to W65C22S requires adding a lot of discrete components (pull-up resistors and preferably two diodes).
The idea now is not to add more parts, but to run the individual IRQ outputs to an AND gate (possibly a spare one that's already on the board), so that if any of them goes low, the AND gate's output goes low. (Of course there are a lot of other possibilities for the hardware design if you want things like hardware interrupt prioritizing or making the interrupt vector directly give the right address for the particular IC that produced the interrupt.)
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?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
Quote:
All other 65c22's, including the NMOS ones, have always needed the pull-up resistor. If you've gotten away without it before, you probably had the IRQ line going to an LSTTL input which is basically in its high state if something is not pulling it down externally.
The AND gate suggestion is a neat idea, unfortunately, I don't have any AND gates on the board. I do have one NOR and three Inverters available, so I'll try to cook-up something. Unfortunately, they are not placed near.
Thanks for the suggestion.
GARTHWILSON wrote:
> When IRQ of the one W65C22S with the DIODE goes low, it also
All other 65c22's, including the NMOS ones, have always needed the pull-up resistor. If you've gotten away without it before, you probably had the IRQ line going to an LSTTL input which is basically in its high state if something is not pulling it down externally.
All other 65c22's, including the NMOS ones, have always needed the pull-up resistor. If you've gotten away without it before, you probably had the IRQ line going to an LSTTL input which is basically in its high state if something is not pulling it down externally.
Quote:
On the NMOS device, unused input-only pins (/IRQ, /NMI, /RDY,
/RES, and /SO) must be connected to a low impedance signal
to avoid noise problems. These unused pins on the CMOS
devices are internally connected by a high impedance to
Vcc (approximately 250k ohms).
/RES, and /SO) must be connected to a low impedance signal
to avoid noise problems. These unused pins on the CMOS
devices are internally connected by a high impedance to
Vcc (approximately 250k ohms).
- GARTHWILSON
- Forum Moderator
- Posts: 8773
- Joined: 30 Aug 2002
- Location: Southern California
- Contact:
Quote:
These unused pins on the CMOS devices are internally connected by a high impedance to Vcc (approximately 250k ohms).
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?
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
One thing that often goes unstated about internal pull-ups is that their tolerance can be extremely wide. A product I worked on a few years back had a custom ASIC with internal pull-ups whose nominal value was something like 150k or 250k. I asked the IC designer how much that value could vary from IC to IC and he said 50 percent! Needless to say, they weren't used for anything but pull-ups.
CORRECTION !!!!!!!!!!!!!
I want to correct what I have posted above, namely that we were never using pull-up resistors on IRQ. Wrong!
I just looked at the schematics, and all IRQ, NMI, RDY and SO have a pull up resistor!
This was designed in about 20 years ago. By the guy who is writing this.
I must be getting old!

I just looked at the schematics, and all IRQ, NMI, RDY and SO have a pull up resistor!
This was designed in about 20 years ago. By the guy who is writing this.
I must be getting old!