O> >The drawback with this arrangement is that when the switches are NOT >being read and one or more switches are closed, data lines will be >shorted together. Adding diodes seemed like an obvious step forward but >the 0.7V drop takes them to the top end of the TTL logic '0' level. Yeah, but the PIC uses CMOS levels, so no problem! Vil max for 16c5x is 0.2vdd = 1.0v at 5v