// Lets say that your shape size is X*Y
#define X (10)
#define Y (10)
unsigned char shape[X * Y] = {
0,0,0,0,1,1,0,0,0,0,
0,0,1,1,1,1,1,1,0,0,
0,1,1,1,1,1,1,1,1,0,
0,1,1,1,1,1,1,1,1,0,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
0,1,1,1,1,1,1,1,1,0,
0,1,1,1,1,1,1,1,1,0,
0,0,1,1,1,1,1,1,0,0,
0,0,0,0,1,1,0,0,0,0
};
/* The shape's width is 10 pixels, and so is the height. Each pixel is 1 byte.
Total 100 bytes. The array size is 100, each element at the array is one pixel.
So I set the value of each pixel in the shape. Every element I set to 0 will be BLACK
and each element that I set to 1 will be some other color. You can see that I devided
the array into 10 lines, each containt 10 pixels.
Antoher way is to declare the shape as 2D array.
Now you just need to copy the shape to the VGA memoy line by line.
*/