Previous Section

11. T6963C Character Generator and Character Attribute Functions

There are two character generator functions built into the T6963C, namely internal CG-ROM and external CG-RAM (Using Display data RAM). When the CG bit of the Mode Set command (section 8.3) is "0" the CG-ROM and CG-RAM have 128 character capability. If the CG bit is "1" then there is no internal CG-ROM function available but 256 character capability for the external CG-RAM.

11.1 Internal Character Generator ROM (CG-ROM)

Refer to section 14 for the charater font table stored in the CG-ROM area. Note that the CG bit of the Mode Set command needs to be set to "0" to make use of the sCG-ROM feature.

11.2 User Defined Character Generator RAM (CG-RAM)

The internal CG-RAM is an area of memory where the user can program custom characters and retrieve them later by using the appropriate Character codes.

To use the external CG-RAM it is first necessary to set the Offset register (section 8.1.2) which specifies the location of RAM to be used. The user must program the CG-RAM with the desired custom character patterns. Once programmed, the external CG-RAM can then be used in place of, or inconjunction with, the internal CG-ROM.

The CG bit of the Mode Set command (section 8.3) controls the configuration of the internal CG-ROM and external CG-RAM.

When CG bit = "0":Both CG-ROM codes in the range 00H-7FH and CG-RAM codes in the range 80H-FFH are valid. Each character in the CG-RAM area will require 8-bytes of data resulting in a memory requirement of 0400H. So if we choose to locate the CG-RAM at 1C00H we should set the Offset register to 03H as this defines the upper 5-bits of the CG-RAM address.

When CG bit = "1"Only CG-RAM codes 00H-FFH are valid. Access to CG-ROM area is not possible. Each character in the CG-RAM area will require 8-bytes of data resulting in a memory requirement of 0800H. So if we choose to locate the CG-RAM at 1800H we should set the Offset register to 03H as this defines the upper 5-bits of the CG-RAM address.

1

C

0

0

_________|_________ _________|_________ _________|_________ _________|_________
MSB LSB
0 0 0 1 1 1 0 0 0 0 0 0 0 X X X
Offset Register(lower 5-bits only) Character Code (00~FF) Cell scan line set by T6963C

For example to load up the character pattern for the pound sign "#" to character code 0FH in the CG-RAM area starting at 1C00H. The Address Pointer should be set to 1C78H by the Address Pointer Set command (section 8.1.3) and then the following eight bytes [06,06,1F,06,06,1F,06,00]should be written to the CG-RAM area using eight succesive Data Write (C0H) commands.

11.3 Character Attribute Function

The attribute function is used for setting "inverse video" (negative image) and/or "blinking" display.

To use the Attribute function, it is first necessary to reassign the Graphic Home address to the first address of the Attribute RAM area by using the internal RAM write command. Please note that Graphic data cannot be displayed while using the Attribute function. Second, it is necessary to to enter the desired Attribute data using the Data Write command (section 8.7). The following table defines the function of Attribute data.

Description D7 D6 D5 D4 D3 D2 D1 D0
Normal Display (Text only) * * * * 0 0 0 0
Reverse Display (Text only) * * * * 0 1 0 1
Inhibit display * * * * 0 0 1 1
Blink of normal display * * * * 1 0 0 0
Blink of reverse display * * * * 1 1 0 1
inhibit display * * * * 1 0 1 1


The Attribute Data for the first character in Text RAM area should be written into the first byte of the Attribute RAM area, and the Attribute data of the nth character should be written to the nth byte in the Attribute RAM area. Therefore if the Text RAM area set by the Text Home address Set command (section 8.2.1) is 1700H and the Attribute RAM is set to 1400H by the Graphic Home address Set command (section 8.2.3) then to set the Reverse Blink attribute of the 16th character of the first line of dislayed text, the value 0DH sould be written to location 140FH by the Data Write command (section 8.7). The address 140FH may need to be set up by the Address Pointer Set command (section 8.1.3).


Next Section