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
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?
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.
 I suspect only because it was trivial to link to the
ISA bus. Linking up
a 6821 (approximate contemporary) was more work. 
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.
 I can think of plenty that would be more useful if they
were still being
made. The 6522 would come high up the list.  
Nothing wrong with a 6522--I've used them myself and found them darned
useful.   But 8255's are easy to obtain and simple to interface to.
Trivia time:  Anyone notice that in the PC BIOS listing for the printer
port routines, the 8255 is mentioned in a comment?  See line 3082 in the
listing.  Wonder if this means that the original intent was to use an 8255,
but changed later?
Cheers,
Chuck