Hi I'm new to Keil so please bear with me. for(nddX=0;nddX<imgDownloaded.bWidth;nddX++) XBYTE[HIGHEST_BYTE|START_1BYTE]=bImage[nPnt+nddX]; where HIGHEST_BYTE is defined as 0x30 and START_1BYTE is defined as 0x01. My question is whether the data from bImage array is written to the same X ram address causing an overwrite. Any ideas why this is done? Best Regards