Joe,
I got "rid" of all of the LCD out commands with a sub and sure thought that would do the trick, but my program only went from 3934 to 3931. Here's what I did:


IF Refresh > 8 Then Refresh = 1
ref:
Select Case Refresh
GoSub lcdone ' Position cursor at home
T[0]="R":T[1]="e":T[2]="f":T[3]="r":T[4]="e":T[5]="s":T[6]="h":T[7]=" "
GoSub LCDout1
GoSub lcdsec
Case 1
T[0]="N":T[1]="o":T[2]="n":T[3]="e":T[4]=" ":T[5]=" ":T[6]=" ":T[7]=" "
GoSub LCDout1
RefTime = 0
Case 2
T[0]="3":T[1]="0":T[2]=" ":T[3]="S":T[4]="e":T[5]="c":T[6]=" ":T[7]=" "
GoSub LCDout1
RefTime = 30

etc........

LCDout1:
LCDOut STR T
Return


What did you mean by "Also see select case instructions in the manual."...am I missing something there?

Arch,
I fixed the "IF Refresh > 8 " problem. Thanks for that. I've looked at the LOOKUP command, but really don't don't understand it. I guess if I set up the alphabet as constants, that won't use any space, but once I use lookup to read them into an array, woukldn't that take up the same space as above?

mister_e,
This board design has been done for a while, so I can't use external on this one, but if I do it on another design, when I retrieve the strings to go into the LCDOUT command, won't that put me in the same boat? As you can see, I'm quite a rookie at this. :-) I don't think I can do the embedded strings either since this chip won't let me use program space. "Flash Program Write" is disabled when I select that chip in the EPIC Programmer.
Gary