The VGP can render 256 colors at once from a much larger palette. For most color values, the resulting palette entry directly corresponds to the color value. That is, color 0x01 maps to palette entry 0x01. Except for the background and border color, however, 0x00 and 0xFF refer instead to the resource background and foreground color respectively. If the resource background or foreground color is also 0x00, that color is considered to be transparent.
Determining the resource's corresponding background or foreground color depends upon the resource itself:
0x11. Should this value be 0x00, palette entry 0x00 is used. (No transparency)0x2B. Should this value be 0x00, palette entry 0x00 is used. (No transparency)0x2000 higher than the tile's address. Any 0x00 pixel from the corresponding tile definition will be rendered in the background color. If this background color is 0x00, the pixel is transparent. The foreground color is obtained from the memory address 0x1000 higher than the tile's address. Any 0xFF pixel from the corresponding tile definition is rendered as the foreground color. As with the background color, an 0x00 result is considered transparent.0x00 is considered to be transparent.0x40 bytes from the sprite data, and the background is stored 0x80 bytes from the sprite data.