> This ends up being a couple of thousand lines of code! Admittedly > pretty easy to write - just copy and change the character. (option 1) Obviously you're not short of memory ;-) so don't cross a page boundary with a string. If you've a bit of empty memory at the end of a page, so what ? (option 2) Within your retrieval routine you'll start with the base address for the string. As you increment the [byte + base address] counter if it reaches the end of the page, ie rolls over to 00, then increment the page pointer to get the next byte (option 3) http://www.piclist.com/techref/microchip/memory.htm has several routines and methods explained, one of which may suit your particular requirements -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics