used to create moving foreground objects. They appear in front of characters (tiles). Modes 1, 2, and 3 can render sprites. There can be up to 32 monochrome sprites of either 8×8 or 16×16 pixels on screen, each sprite with its own, single color. The illusion of multicolor sprites can be created by stacking multiple sprites on top of each other. There can be no more than 4 sprites on a single scanline; any additional sprites' horizontal pixels are dropped. Sprites with a higher priority are drawn first. The VDP reports in a status register the number of the first dropped sprite. The CPU can get around this limitation by rotating sprite priorities so that a different set of sprites is drawn on every frame; instead of disappearing entirely, the sprites will flicker. This technique is known as sprite multiplexing. Automatic sprite movement is not handled by the VDP. Instead, in practice, the CPU will pick up on the VDP's vertical interrupt - a standard VDP output, which is triggered automatically once every 50th or 60th of a second (depending on chip variant), at the start of the VBI (vertical blanking interval). The CPU then jumps to a sprite-handling routine in the software, which in turn tells the VDP where to reposition the sprites. When two non-transparent pixels in any pair of sprites collide, the sprite collision flag is set. This is useful for triggering more advanced collision detection routines inside the software which can then determine the exact location of the collision and act upon it, as the VDP is itself incapable of reporting which two sprites have collided. Colors The TMS9918 family chips used a composite video palette. Colors were generated based on a combination of luminance and chrominance values for the TMS9918A and Y, R-Y and B-Y values are for the TMS9928A/9929A . Datasheet values The TMS9918 has a fixed 16-color palette, composed of 15 displayed colors and a "transparent" color. When "transparent" is used for sprites, it will show the background characters. When "transparent" is used for characters, it will show the external video signal. According to "Table 2.3 - Color Assignments" on the datasheet outputs levels are the following: Notes: Colors were converted from the Y, R-Y and B-Y values to sRGB, using the formula here. Luminance and chrominance values are for the TMS9918A. Y, R-Y and B-Y values are for the TMS9928A/9929A. Gamma correction