Multicolor Bitmap Mode

From C64-Wiki
Jump to: navigation, search

Introduction[edit]

Multicolor Bitmap Mode is an official Graphics Mode for the Commodore 64. It can be considered Medium Resolution (compared to the High Resolution Standard Bitmap Mode). The mode allows for pictures of up to 160 x 200 pixel resolution and 16 colors across the screen. However, there are limitations on how the colors are implemented.

Implementation[edit]

In Control Register 1 ($d011) bit 6 (ECM) must be cleared and bit 5 (BMM) must be set. In Control Register 2 ($d016), bit 4 (MCM) must be set. Table 2 highlights these bits.

Table 1 - VIC-II Control Registers
Hex Address Dec Address Type Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Contents
$D011 53265 Register RST8 ECM BMM DEN RSEL YSCROLL Control Register 1
$D016 53270 Register - - RES MCM CSEL XSCROLL Control Register 2

Multicolor Bitmap Mode is 1 of 5 legal graphics modes achievable by the VIC-II; the others being combinations of the bits ECM, BMM and MCM. Table 2 shows the possible graphics modes available from the VIC-II.

Table 2 - Graphics Modes VIC-II Bit Combinations
Mode ECM BMM MCM Result
0 0 0 0 Standard Character Mode
1 0 0 1 Multicolor Character Mode
2 0 1 0 Standard Bitmap Mode
3 0 1 1 Multicolor Bitmap Mode
4 1 0 0 Extended Background Color Mode
5 1 0 1 Extended Background Color Multicolor Character Mode (invalid)
6 1 1 0 Extended Background Color Standard Bitmap Mode (invalid)
7 1 1 1 Extended Background Color Multicolor Bitmap Mode (invalid)

Characteristics[edit]

A Multicolor Bitmap Mode picture consists of 1 Medium Resolution bitmap of maximum size 160 x 200 pixels; with a Pixel Aspect Ratio of 2:1. Each 8 x 8 pixel character location can contain 4 different colors: 1 color is defined per character location, 1 color is defined for the background, and 2 colors are defined for the entire screen. All 16 colors can be used.


Technical


A multicolour bitmap resolution (160 x 200) is halved horizontally from a standard bitmap (320 x 200). This is as a result of the formation of double-wide pixels but with the added advantage of 4 colors per character location. Each pair of pixels in a character location has a bitmask which denotes which color should be represented: %00 for background color 0 ($d021), %01 for background color 1 ($d022), %10 for background color 2 ($d023) and %11 for the lower nibble of Screen RAM.

Examples[edit]

Wool On Her Mind by Bizzmo
Water by Joe
Concubism by Archmage
Rabbytes Can Dance by Yazoo

Editors[edit]