ADVANCE INFORMATION
VCT 38xxA
3.8. Character Generator
The pixel clock can be either 10.125 MHz or
20.25 MHz. To get 10-bit pixel information from the
character font, two memory cycles are needed. The
character font is part of the mask-programmable ROM,
but supplied with its own bus structure (see Fig. 3–2 on
page 49). By this means the data transfer between
character ROM and teletext display controller does not
stop the CPU.
Characters are addressed using a 10-bit character
code. The 2 MSBs of the character code define 1 of 4
character sets. Character set selection is done using
level 2 parallel attributes (see Table 3–7 on page 56).
Each character set contains 224 characters. The first
32 characters in each character set are reserved for
control codes (see Table 3–6 on page 56). On a single
screen, 896 different characters can be displayed.
Both bus structures are connected via a memory inter-
face which allows cross-connections using DMA or
wait cycles. If the character font size exceeds
12 kBytes, part of the character font can be shifted into
the program ROM which causes DMA cycles. There-
fore only less frequently used characters should be
placed into the program ROM. Vice versa seldom used
CPU code can be put into the character ROM.
Characters can be displayed in several pixel resolu-
tions provided that the according font is available. The
character generator supports horizontal resolution of
8 or 10 pixel/char and vertical resolution of 8, 10, or
13 lines/char. Characters can be combined without
separating borders to create more complex character
definitions (e.g. kanji or icons).
The WST specification defines a number of 7-bit code
tables, which are filled with 96 characters only (the
MSB is used for parity check). In the G0 code table
some characters have several language dependent
variations. Additionally characters from the G0 code
table can be combined with diacritical marks from the
G2 code table (row 26). Furthermore different code
tables are defined for languages like cyrillic, greek or
arabic. Thus it is not possible to simply transform the
code tables into a continuous character font ROM with-
out getting unused ROM space and multiple defined
character fonts.
Table 3–9: Character resolutions
matrix
(h x v)
char/sc char/sc osd
# char in
12k font
# char in
20k font
reen
reen
width
(PAL)
(NTSC)
single character
8 x 8 40 x 32
10 x 8 40 x 32
8 x 10 40 x 26
10 x 10 40 x 26
8 x 13 40 x 20
10 x 13 40 x 20
40 x 28
32µs
40µs
32µs
40µs
32µs
40µs
1600
1280
1280
1024
800
2560
2048
2048
1638
1280
1024
40 x 28
40 x 22
40 x 22
40 x 17
40 x 17
This problem is solved by implementing a character
code mapping (see Fig. 3–11 on page 58). The
5 MSBs of each character code are mapped into
another 5-bit code which is then used to address the
character font ROM. By this means the whole charac-
ter font is subdivided into 32 blocks of 32 characters
which can freely be distributed over the 4 character
sets.
640
combined character (2 x 2)
16 x 16 20 x 16
20 x 16 20 x 16
16 x 20 20 x 13
20 x 20 20 x 13
16 x 26 20 x 10
20 x 26 20 x 10
20 x 14
20 x 14
20 x 11
20 x 11
32µs
40µs
32µs
40µs
400
320
320
256
200
160
640
512
512
409
320
256
The character code mapping is implemented as RAM
and can be programmed by software. After reset the
TPU initializes the mapping RAM for standard WST
latin code tables.
The TV controller can select predefined mappings for
latin, cyrillic and arabic teletext via the command
DISPLAY_MODE (see Table 3–16 on page 70). The
same command allows selection of a user defined
mapping which has to programmed in advance using
command USER_MAPPING.
20 x 8.5 32µs
20 x 8.5 40µs
combined character (2 x 1)
16 x 10 20 x 26
16 x 13 20 x 20
20 x 13 20 x 20
20 x 22
20 x 17
20 x 17
32µs
32µs
40µs
640
400
320
1024
640
512
combined character (1x 2)
40 x 14 40µs 640
10 x 16 40 x 16
1024
Micronas
57