The first 12 bytes of the memblock are the dimensions of the image held in 3 integer values - width, height and colour depth (in bits) - for a total of 12 bytes. Then the data starts at this point.
The position in the memblock can be calculated like so:
Position = ((Width * y) + x) * (depth / 8) + 12
If you know that you will always be dealing with 32 bit images, then the (depth / 8) can be replaced with 4, or 2 if always using 16 bit images.
Quote: "I am guessing that to get the X,Y co-ords into the position I just need to work out the size of the image in pixels (say 200 wide and 400 high) and then add or subtract 400 accordingly to the position variable every time the character move up or down and add / subtract 1 for left or right."
Yes, almost. When moving left, remove (depth/8) from the position, when moving right, add it. When moving up, remove width*(depth/8) from the position, when moving down, add it.