solution 1: consumes stack for subroutine call: void lcd_puts(char *s) { char t; while((t = *s++)) lcd_putc(t); } solution 2: no stack (inline function), may not work on some compilers: #define lcd_puts(s) { while(*s) lcd_putc(*s++); } There are usually two puts functions on a pic because the code is different if s is in ram or in rom (pis are hardward machines). Peter -- http://www.piclist.com#nomail Going offline? Don't AutoReply us! email listserv@mitvma.mit.edu with SET PICList DIGEST in the body