Specifications
CONSTRUCTION
T
he 6845 is a programmable CRT
controller, which can be pro-
grammed so as to generate a ras-
ter with the desired number of horizontal
and vertical raster lines [refer Fig. 1(b)].
For detailed explanation of its program-
ming method for an application using
6845 CRTC, you can refer chapter 16 of
the book ‘Learn to Use Microprocessors’
published by EFY.
There are two registers in the 6845,
which are selected with the help of ad-
dress line A0. When A0 and CS3 are low
(selected), the program code accesses the
first register. If A0 is high and CS3 is low,
the second of the two registers is accessed.
In addition, the 6845 has 16 internal reg-
isters. The selection of the internal regis-
ters for writing is done via the first regis-
ter while the second register is written
with the data to be transferred into the
selected register.
Here, we need 16 lines for a character
slot. The width of each character slot is
only 8, be-
cause that is
what the
shift register
can handle.
But our mul-
tilingual
characters
themselves
are written
in a font of
size 12 x 16.
Therefore
the charac-
ters classifi-
cation for the
6845 does
not really
mean the ac-
tual charac-
ters shown,
because we
have to use
one-and-a-
half charac-
ter slots for
each of the
multilingual
character.
This was
the problem
faced earlier
while at-
tempting use
of CRT controller chip (6845). Therefore
the authors went in to design a separate
CRT controller circuit using discrete
CMOS ICs, which was successfully tested.
Later, at the behest of EFY (proposing
use of dedicated chips to make it a
standalone compact project), the authors
developed the present modified circuit us-
ing the 6845 CRT controller itself.
Once programmed, the 6845 CRTC
generates the vertical and horizontal sync
signals for the raster at pins 39 and 40,
respectively. The 6845 also provides MA0-
MA13 signals for addressing the video
memory. The video memory is used here
to store the dot patterns for the data dis-
played on the TV screen. The video
memory address lines and raster address
lines have been used as under:
MA0-MA5 (6 lines) .. To choose one of
64 character slots in every character row.
RA0-RA3 (4 lines) .. To select one
among the 16 lines on each such row.
MA6-MA9 (4 lines) .. To select one of
the 16 character rows on screen.
During each character row, the 16 row
lines are selected using RA0-RA3 signals,
which are sequentially incremented from
0 to 15. This mode of wiring the CRT
controller to the video memory is not the
usual one. It is unlike the one referred to
in chapter 16 of ‘Learn to Use Micropro-
cessors’ book mentioned earlier. There,
the MA0, MA1, … lines address the video
RAM, but the video RAM data goes to the
character generator. The character gen-
erator gets the RA0-RA3, to let it know
which line of the character the data is to
be output at any instant—because there
are many lines of dots for each character.
Here the character generator is not used,
but the video RAM directly stores the dot
points of the display text. They are writ-
ten by the program into the video RAM.
Here RA0-RA3 are the four line-count sig-
nals L1 to L4 for the 16 lines, which are
the heights of each Indian language char-
acter (here it includes English as well).
The four row-count signals MA6-MA9
are used here for generating 16 rows of
text per screen. At the end of the 64th
character byte (representing 43rd charac-
ter) display, the display enable signal is
blanked. This is to cater to the horizontal
flyback period. The sync signal for the
video output is obtained by combining the
H-sync and V-sync outputs from pins 39
and 40 of CRTC via two resistors (of 10k
DISPLAY SCHEMES FOR INDIAN
LANGUAGESPART II
(HARDWARE AND SOFTWARE)
K. PADMANABHAN, S. ANANTHI, K. CHANDRASEKHARAN,
AND P. SWAMINATHAN
Fig. 4: Video RAM storage flowchart
136