On 11/4/2005 at 1:36 AM ard at p850ug1.demon.co.uk wrote:
Oh come on. It's broken. Fundamentally.
For one thing you can't arbitratily set the direction of individual port
lines (virtually all other parallel chips let you do that). And that
write-to-mode-register-clears-outputs is ridiculous.
I'll concur with the mode-register write operation as being silly, but
apparently it doesn't get in the way for too many people. And setting the
I have long since realised that the worse a chip is, the more liklely it
is to become popular :-). Same applies to most other things, actually.
direction of I/O pins in groups of 8 or 4 is
apparently not a stopper for
most people. 24 bits of mode 0 I/O is pretty cool, no?
Personally, I'd rather have the 20 I/O lines you get from a 6522....
Consider what the alternatives were back in--what was it--1974? (anyone
have an exact date?). You needed parallel I/O, you used an 8212. The 8255
was a pretty substantial step forward. It's pretty amazing that it's
still around more than 30 years later.
My experience is that if you have an application where there's a fixed
direction (and no need for the handshake modes of the 8255), it's simpler
to use the '574 for output and '541 for input. If you want a versatile
solution, you might as well use one of the better I/O chips. The 8255 is
somewhat 'in the middle' -- more complex than it needs be for simple
applications, but not complicated enough for some of the more difficult ones.
I've seen 8255's hooked to 6800's. Also
trivial to interface there, as
well as Z-80 and a host of other CPUs.
In a moment of maddness I once linked an 8255 (hey, it was in the
junkbox...) to the 6809 bus of a CoCo. I got so upset by the misfeatures
of that chip I went and got a 6522 (which is, of course, trivial to link
to the 6809)
-tony