Commodore 64 display modes

Standard character mode

Screen based on:

Colors based on:

Character shape and color:

  1. Fetch screen byte from Screen RAM, multiply it by 8.

  2. If charset is in lowercase/uppercase mode, add 2048 ($0800).

  3. Fetch 8 bytes from this offset of the Character ROM and use it as a bitmap:

Multicolor character mode

Screen based on:

Colors based on:

Character shape and color:

  1. Fetch color byte from Color RAM. If bit #3 = 0, the character is single color, see "Standard character mode".

  2. If color byte bit #3 = 1, the character is multicolor. Fetch screen byte, multiply it by 8.

  3. If charset is in lowercase/uppercase mode, add 2048 ($0800).

  4. Fetch 8 bytes from this offset of the Character ROM and use it as a bitmap:

Extended background color character mode

Screen based on:

Colors based on:

Character shape and color:

  1. Fetch screen byte from Screen RAM, keep only bits #0-#5, multiply it by 8.

  2. If charset is in lowercase/uppercase mode, add 2048 ($0800).

  3. Fetch 8 bytes from this offset of the Character ROM and use it as a bitmap:

Standard bitmap mode

Screen based on:

Colors based on:

Bitmap shape and color:

  1. Fetch bitmap byte from Bitmap RAM:

Multicolor bitmap mode

Screen based on:

Colors based on:

Bitmap shape and color:

  1. Fetch bitmap byte from Bitmap RAM: