Hi all, This may be sort of OT (not sure). It involves porting code from an 8051 to a PIC. I've been having problems reading the busy flag on an LCD. The LCD is using a 4-bit interface. I have finally figured it out (I think). It appears that the order you send the various control signals matters (as the datasheet indicates, but several examples I found on the web don't follow that order). It is also important that the data lines *NOT* change. I've tried setting the pins to HiZ before, after, and at the same time as setting 'E' high. The LCD gets messed up every time. The only way it works is to leave the I/O pins "as-is". The code is for an ADuC812, which has an 8051 core. I would like to port this code to a PIC. Now, on the 8051, I can simply let the external signal drive the I/O pins, even though they may be outputs. But on the PIC, which has output drivers, this won't work. I've though of using the weak pull-ups (on an 'F84), but aren't these disabled when the port is configured as an output? Do I have to add hardware to support this? Does anyone have any ideas of how to accomplish this on a PIC? Has anyone successfully read the BUSY flag while using a 4-bit interface? I'd greatly appreciate some code snippets if you're willing to share. Phil Eisermann H:(440) 284-3787 (mazer@ix.netcom.com) O:(440) 329-4680 (peiserma@ridgid.com)