I am running Keil's FarMemory example "4MB Variables on Classic 8051".
In main.c you initialize two large arrays with different values and then you print their contents.
for (i = 0; i < sizeof (large_array0); i++) { large_array0[i] = (unsigned char) i; // just an example large_array1[i] = (unsigned char) i+0x80; // just an example }
Observing the printout on the simulator it appears that both arrays contain identical data (that of the second), thus suggesting that either banking did not work or the simulator can't handle it.
Thanks