If I'm using the compact memory model, which implicitly sticks variables in xdata, but also declare a variable (in this case a char[]) to go in xdata, it appears to use the wrong pointer type. Thus, I get the lower 8 bits if the address, NOT the data. Not explicitly declaring the variable as xdata yields the correct result. Is it me or the compiler?
Taken on board, will try that out tomorrow, as it's just gone 3am here... Thanks...