Framebuffer

From MegaDrive Wiki
Revision as of 15:29, 16 March 2015 by Tristanseifert (talk | contribs) (7 revisions imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

A framebuffer consists of data that tells a video controller the colour of a specific pixel. Framebuffers weren't commonly found on 16-bit era consoles, such as the Mega Drive while making the 32X an exception, even though it is really a 32-bit add-on.

Framebuffers usually take a large amount of memory as they need to have information for every single on-screen pixel. An example of this are modern computers - there are 256 possibilities for the red, green and blue channel of a pixel, so each pixel takes up 24 bits - often referred to as bpp, or bits per pixel.

Due to the high cost of memory in the 80's and well into the 90's, consoles often settled for small amounts of video RAM, and palette-based images that mapped small tiles onto the screen using a name table.

32X

The 32X has a frame buffer that is overlaid or underlaid to the Mega Drive's video. To do this, the 32X takes the Mega Drive's video in through a plug on it's rear, and depending on the priority, it will either be drawn above or below the Mega Drive's planes and sprites. The framebuffer can be operated in two distinct modes:

  • 256 colour mode: 8bpp. Uses a byte per pixel as an offset into CRAM - allows use of the entire height of the screen worth of data.
  • 256 colour RLE: 16bpp. Each pixel's data is the number of pixels to display the colour specified by the second word. Can limit screen size.
  • 32,768 colour: 16bpp. Each pixel is a 15 bit colour value, with the top bit being the priority bit. This limits screen size.