|
Technically, without using techniques such as interlacing (C64-style interlacing where you alternate between two images each frame, not VDP hardware interlacing), the Genesis can pull from a total pallet of 1536 colors. This comes from the 512 colors that can be generated directly (3 bits per component, 8*8*8=512), plus the same for both shadow and highlight mode.
Now, in a practical sense, you'll only get 1536 colors on screen simultaneously with raster tricks. Charles MacDonald made such a demo, IIRC. Without special tricks, you're limited to four 16 color pallets, with color $0 of each pallet only usable as a backdrop color. Each layer can use any of the four pallets, as can sprites. This means that there is somewhat wide flexibility in how the programmer utilizes the various VDP facilities (for example, you can have parallax scrolling by using each layer separately, with 15 colors per layer, or you can combine layer A, B, and sprites to get 60 colors, and if you tweak the backdrop you can eke out a tiny bit more color in some instances). As antime mentioned, you can also change pallet entries mid-frame, to gain even more colors (this is how the Sonic games implement water). I haven't played around with this much, but while you can't update all the pallet entries every line due to lack of Hblank time, I would surmise that it should at least be possible to tweak the backdrop register on every line, and possibly mid-line. |