Multicolor Bitmap Mode

From C64-Wiki
Jump to navigationJump to search

Introduction[edit | edit source]

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 | edit source]

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 | edit source]

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 for the background, 2 colors are defined using the screen matrix (same as a hi-res bitmap) and the last is defined using the colour RAM. 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 the upper nibble of the screen matrix, %10 for lower nibble of the screen matrix and %11 for the lower nibble of color RAM.

Examples[edit | edit source]

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

Editors[edit | edit source]