Hi Quentin, To continue from Wagner's response, I'll tell you what I plan to do ( I have the same problem ). I already have a fairly large NVRAM as part of my circuit, so it is not as big a deal for me. I thought I would reserve a block of memory in the lower address space of the RAM for text messages. Each text message will be allocated the same amount of space ( wasteful, but simple .. also, I've got RAM to waste ). Each text message will be terminated by a trailing zero. In your program, you will need the base address plus an error number. Pseudo C code follows (sorry, don't speak ASM very well): #define TEXTMSG1 0 #define TEXTMSG2 1 ... #define TEXTMSGN N #define baseAddress 0x00 // Base memory address in RAM #define msgSize 30 // Number of chars in each message void DisplayMessage( int msg ) { long addr = baseAddr + ( msg * msgSize ); // Requires 16 bit math most likely int l; char c = 1; int row = 1; int col = 1; for ( int l = 0; l < msgSize && c != 0; l++ ) { c = ReadRAM( addr + l ); // Read a byte f rom RAM // If c == 0, end of string if ( c != 0 ) { WriteCharToLCD( row, col, c ); // Write to LCD col++; // Handles wrap around if ( col > MAX_COL ) { row++; col = 1; } } } return; } int main() { DisplayMessage( TEXTMSG1 ); DisplayMessage( TEXTMSG2 ); return 0; } HTH, Eric -----Original Message----- From: Quentin [SMTP:qsc@ICON.CO.ZA] Sent: Tuesday, May 04, 1999 10:18 AM To: PICLIST@MITVMA.MIT.EDU Subject: Handling large tables for LCD display Hi Picsters I am currently working on a project which display lots of text messages and data on a LCD display. I have about 20 text messages of up too 32 characters each to display. Some messages will also incorporate variable data (readouts). I use a 16C74 and 16x2 LCD and write in ASM. Currently, I got all the messages in tables in page 1 of the memory and use the standard PCLATH and CALL etc. method of calling them up when needed. The variable data I am going to read from register files using indirect addressing. Still working on this. As it is now, it works but I find using it and calling the tables very tedious and the coding gets a bit long at stages. Also, the tables hogs a lot of memory space. Anybody got a easier or better way to handle many and long messages for LCD display? Thanks Quentin