I believe I'm doing something incorrectly, probably relating to how I initialize and tell keil where RAM memory resides at. I'm using the latest version of uVision and C compiler. The P89C668 has 8k of onboard RAM. As I understand it, the P89C668 has the normal 256 bytes of 'internal' RAM and the rest is accessed as XDATA. So once setting Keil up, I edit the startup such as:
IDATALEN EQU 100H XDATASTART EQU 101H XDATALEN EQU 2000H PDATASTART EQU 0H PDATALEN EQU 0H
unsigned char idata lcdbuf[2][16];
WriteLCD("Hello Keil\n", LCD_LINE1); WriteLCD("XDATA Prob\n", LCD_LINE2);
unsigned char xdata lcdbuf[2][16];