Standard Character Mode
Introduction[edit | edit source]
Standard Character Mode is an official Graphics Mode for the Commodore 64. It is sometimes referred to as Low Resolution (LoRes). The mode allows for pictures of up to 40 x 25 character blocks filled with PETSCII characters (although technically still 320 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 cleared. In Control Register 2 ($d016), bit 4 (MCM) must be cleared. Table 1 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 |
Standard Character 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]
Standard Character Mode is used primarily for writing text, however Low Resolution pictures are possible using PETSCII characters (which each comprise of an 8 x 8 pixel block). A Standard Character Mode picture, or screen of text, consists of a maximum size 40 x 25 character locations each filled with a PETSCII character. Each 8 x 8 pixel character location can contain 2 different colors: 1 color is defined per character location, and 1 color is defined for the entire screen background. All 16 colors can be used.
Technical
The memory required to hold the data for a bitmap is 1.5 kilobytes; 1 kilobyte for the Screen Memory ($0400-$07ff) and 500 bytes for color RAM ($d800-$dbff). Inconveniently, only the lower nibble for each of the 1000 character locations is used in color RAM with the upper nibble unused; and so the data still spans a block of nearly 1 kilobyte. The background color is defined in $d021. PETSCII characters are stored in Character Generator ROM although other memory locations can hold user-defined characters. User defined characters are popular in when creating tiles in games and it is notably easier to soft scroll a screen of Standard Character Mode than Standard Bitmap Mode.