I use a function to create the memory array of pointers ( like ImageData = AllocVec( Amount * sizeof ( * ), MEMF_CLEAR ); ) the problem was not here. I have created 2 functions, 1 to write the image ptr, 2 to read it from the array. With a 2 nd local pointer that is a copy of the original memory pointer but shifted for the wanted Image slot. Now it work perfectly using these 2 functions :p Thank you :)