The following information shows the number of palette entries and thus the number of possible screen colors per frame that can be displayed in each mode with the corresponding number of bits-per-pixel (BPP).
Mono passive: 4 BPP only:
16 palette entries selecting one of 15 grayscale.
8 BPP would work, but is not practicable as there are only 15 physical grayscales.
Color passive: 4 BPP, 8 BPP, 12 BPP "true-color"
4 BPP: 16 palette entries from 3375 possible colors
8 BPP: 256 palette entries from 3375 possible colors
12 BPP: 3375 possible on-screen colors
TFT: 4bpp, 8bpp, 16bpp
4 BPP: 16 palette entries selecting from 4096 colors
8 BPP: 256 palette entries selecting from 4096 colors
16 BPP: Maximum 64K colors, depending on LCD panel
Palette entries are 16 bits wide (2 bytes) and 4 BPP, so require 32 bytes of storage. 8 BPP modes require 256 bytes. 12 or 16 BPP modes do not use palette data but need the bits per- pixel information to be loaded, so these modes uses 32 byte similar to that of the 4 BPP modes.
Mono passive modes supports two different interfaces: 4 bits per panel and 8 bits per panel. Both Mono and color passive modes can operate in single- or dual-panel modes. All modes (color/mono, 4, 8, 12 or 16 bits-per-pixel, 4- or 8-bit mono, single- or dual-panel) operate independently of each other.
Vertical Back Porch (VBP) and Vertical Front Porch (VFP) must be zero on passive screen. The vertical synchronization signal (VSync) width must be programmed to be as small as possible on passive screen modes, but long enough to load the palette without stealing all the memory bandwidth from the CPU.
Pixels-per-line (PPL) must be in multiples of 16. Most LCD panels ignore data at the end of the line that is not needed—that is, they ignore data at the right hand side of the screen.