
LM1276 Address Map
(Continued)
TABLE 5. Page RAM Lower Byte Read Data
Address Range
0x8000–0x81FF
D7
D6
D5
D4
D3
D2
D1
D0
CHAR_CODE[7:0]
TABLE 6. Page RAM Upper Byte Read Data
Address
0x8000–0x81FF
D7
X
D6
X
D5
X
D4
CC[8]
D3
D2
D1
D0
ATTR_CODE[3:0]
RAM Data Format
Each of the 512 locations in the page RAM is comprised of a 13-bit code consisting of an 9-bit character or control code, and a
4-bit attribute code. Each of the characters is stored in sequence in the page RAM in bits 8:0. Special codes are used between
lines to show where one line ends and the next begins, and also to allow blank (or ‘skipped’) single scan lines to be added
between character lines.
Table 7
shows the format of a character stored in RAM. Note that even though this is a 13-bit format,
reading and writing characters and codes is done in 8-bit bytes.
TABLE 7. Page RAM Format (9-bit mode)
ATTRIBUTE CODE
ATT[3:0]
CHARACTER CODE
CC[8:0]
Bits 8-0 determined which of the 512 characters is to be called from the character ROM. Bits 12–9 address one of the 16
attributes in the table containing the colors and enhanced features to be used for this particular character. Two separate attribute
tables are used, one for 2-color characters, and the other for 4-color characters. Note there are 16 available attributes for 2-color
characters and a different set of 16 available attributes for 4-color characters.
End-Of-Line Code
To signify the end of a line of characters, a special End-Of-Line (EOL) code is used in place of a character code. This code, shown
in
Table 8
tells the OSD generator that the character and attribute codes which follow must be placed on a new line in the
displayed window. Bits 8–1 are zeros, bit 0 is a one. The attribute that is stored in Page RAM along with this code is not used.
TABLE 8. End-Of-Line Code
ATTRIBUTE CODE
ATT[3:0]
END-OF-LINE CODE
0
0
0
0
0
0
0
0
1
Skip-Line Code
In order to allow finer control of the vertical spacing of character lines, each displayed line of characters may have up to 15
skipped (i.e., blank) lines between it and the line beneath it. Each skipped line is treated as a single character pixel line, so
multiple scan lines may actually be displayed in order to maintain accurate size relative to the character cell.An internal algorithm
maintains vertical height proportionality (see the section on Constant Character Height Mechanism). To specify the number of
skipped lines, the first character in each new line of characters is interpreted differently than the others in the line. Its data are
interpreted as shown in
Table 9
, with the attribute bits setting the color of the skipped lines.
TABLE 9. Skipped-Line Code
ATTRIBUTE CODE
ATT[3:0]
NUMBER OF SKIPPED LINES
X
X
X
X
X
SL[3:0]
Bits 8–4 are reserved and should be set to zero. Bits 3–0 determine how many blank pixel lines will be inserted between the
present line of display characters and the next. A range of 0–15 may be selected. Bits 12–9 determine which attribute the pixels
in the skipped lines will have, which is always called from the two-color attribute table. The pixels will have the background color
(Color 0) of the selected attribute table entry.
Note that the pixels in the first line immediately below the character may be overwritten by the pixel override system that creates
the button box. (Refer to the Button Box Formation Section for more information).
After the first line, each new line always starts with an SL code, even if the number of skipped lines to follow is zero. This means
an SL code must always follow an EOL code. An EOL code may follow an SL code if several ‘transparent’ lines are required
between sections of the window. See Example 3 in the LM1247 data sheet for a case where skipped lines of zero characters are
displayed, resulting in one window being displayed in two segments.
End-Of-Screen Code
To signify the end of the window, a special End-Of-Screen (EOS) code is used in place of a End-Of-Line (EOL) code. There must
be at least one EOS code in the Page RAM to avoid unpredictable behavior. This can be accomplished by clearing the RAM by
writing a 0 to bit 3 of the FRMCTRL1 Register, 0x8400, immediately after power up.
L
www.national.com
27