CRT Controller Handbook PDF
CRT Controller Handbook PDF
CRT Controller Handbook PDF
CRT Controller
Handbook
Gerry Kane
A stand alone reference book w hich can also be used as a supplement to 5 ! ! ! j .
An Introduction to Microcomputers: Volume 3 — Some Real Support Devices. H u l l
0 5 CV jo ?
9 .C C ,
" 056i
The CRT Controller
Handbook
Gerry Kane
For information on translations and book distributors outside of the U. S. A . , please write
OSBORNE/M cGraw -Hill at the above address.
T H E CRT C O N TR O LLER H A N D B O O K
Copyright © 1 9 8 0 McGraw-Hill, Inc. All rights reserved. Printed in the United States of America. No part of this pub
lication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic,
mechanical, photocopying, recording or otherwise without the prior written permission of the publishers.
Cathode ray tubes (CRTs) are ubiquitous devices. M ost homes have
several in the form of TV sets, and CRT-based term inals are used widely in
both data p rocessin g and word p rocessin g com puter s y ste m s. The
widespread and ever increasing use of CRTs in computer term inals has led
semiconductor manufacturers to design large-scale-integrated (LSI) devices
to sim plify and reduce the costs of control functions for CRT-based ter
m inals.
In this book we will describe a n u m b er of LSI CRT controller devices.
A lthough there are significant differences between the functions, capabilities,
and characteristics of each of these CRT controllers, all of them have been
shaped by the requirem ents of the cathode ray tube itself and by prevailing
interface standards to this device. In this chapter we w ill discuss general
principles of operation for the CRT and those terms and definitions which
apply to all of the CRT controllers we w ill describe.
Phosphor Dot
You can control the point at which the electron beam strikes the
screen, and therefore the position of the dot upon the screen, by deflecting
the electron beam. T here are two prim ary m ethods of perform ing this beam
deflection: electrom agnetic and electrostatic. Electrom agnetic deflection is by
far the m ore com m on m ethod and is used in all conventional television sets.
Separate deflection coils are provided along the horizontal and vertical axes of
the CRT neck. Separate signals can then be applied to effect horizontal and
vertical deflection of the electron beam and thus move it across the surface of
the screen. This operation is illustrated in Figure 1-2.
Persistence As the beam is moved across the screen, it leaves a trace which takes
some finite amount of tim e to dissipate. The duration of this trace depends on
the characteristics of the fluorescent coating applied to the in n er surface of the
screen. This characteristic is called the “ persistence” of the phosphor.
The horizontal deflection signal applied to the deflection coils affects
only the horizontal position of the illum inated dot; lik ew ise, the vertical
deflection signal affects only its vertical position. Some CRT displays allow
the user to arbitrarily position the dot by providing a horizontal and vertical
input. W ith this type of display, the dot position is proportional to the linear
voltages applied to these two inputs. This type of display is often referred to
as a graphic, X-Y, or vector CRT display.
Raster Scan
The far more prevalent type of CRT display is called a raster scan
type. This type is used in all modern commercial television sets and in most
CRT Principles of Operation 1-3
The raster scan pattern that we have illustrated still does not provide
any method for displaying useful information on the CRT screen; so far, all
w e’ve done is produce a rake-like pattern on the screen. The first step towards
making the screen u seful is to elim inate the retrace portion of the raster
scan pattern. This can be done by reducing the intensity of the electron beam
during the retrace portion, using th e intensity control for video input to the
CRT illustrated in Figure 1-2. If the intensity of the electron beam is su ffi
ciently reduced during retrace, then the flourescent coating on the screen
Side V ie w Front V ie w
Phosphor Dot
We are going to use this seven-by-ten (7 x 10) matrix of line segm ents
to display a single alphanum eric character. To provide a separation border
around this alphanumeric character, we w ill leave the top line and the bot
tom two lin es blank and provide a one-segm ent border on the left and right
edges of the 7 x 1 0 m atrix. This border is provided by reducing th e intensity
of the electron beam during the appropriate segm ents of the scan pattern. We
CRT Principles of Operation 1-5
w ill then be left with a 5 x 7 m atrix of line segm ents or dots in the center of
our field:
The beam intensity is reduced during the entire scan of line 1, during line
segm ents 1, 6 and 7 of scan line 2, and so on. T hus, it would take seven con
secutive scan lines to represent the letter R with a n um ber of illum inated line
segm ents or dots on each scan line representing part of the letter. Each illum i
nated dot will rem ain illum inated for som e finite period of tim e depending on
the persistence rating of the flourescent coating on the screen. The line seg
m ents or dots representing the character m ust be repeated or refreshed at fre
quent intervals, or the character will simply fade away.
In our discussion of the character form ation using scan lines, we showed
only ten horizontal lines. Obviously, a typical CRT screen can display many
m ore lines than this, and each line will be subdivided into m any m ore dots or
segm ents than the few that we have illustrated. Let us now discuss the factors
involved in determining the number of scan lines and dots or segm ents per
line that are commonly used.
1-6 The CRT Controller Handbook
Horizontal and In the United S tates, the horizontal sweep or scan rate of the electron
Vertical Scan Rates beam for television is 15.75 kH z. If the beam is sim ultaneously moved ver
tically at a rate of 60 H z, then 262.5 (15,750 -s- 60) horizontal trace lines can
be produced while the beam is moved from the top to the bottom of the
screen. Of course, some tim e is required to accomplish the horizontal and
vertical retrace operations. T hus, som e of the scan lines are effectively lost
while perform ing the vertical retrace. A typical video system might require 21
or 22 scan lines of tim e to perform the vertical retrace, leaving about 240
raster scan lines for display of data. If we used 10 scan lines to form each
row of alphanumeric characters, we could get a total of 24 lines of characters
on the screen.
The number of characters that you can display horizontally along one
of the rows depends on the video frequency used; that is, the rate at which you
m odulate the intensity of the electron beam. For exam ple, if the horizontal
scan frequency is 15.75 kHz and you want to display 100 8-dot wide characters
per line, you would need a video frequency of 12.6 M Hz (15,750 x 8 x 100 =
12.6 M H z). In an actual system you would blank about 20% of these characters
to allow for horizontal retrace tim e and side m argins, and would th u s have an
80-character per line display with this video frequency.
The number of lines of data that can be displayed on the screen can be
increased in several w ays. The most obvious way would be to increase the
horizontal sweep frequency so that more horizontal scan lin es are produced
during vertical scan of the screen. For exam ple, if we increased the horizontal
scan frequency from 15.75 kHz to 18 kHz and kept the vertical frequency at 60
H z, we would increase the num ber of horizontal scan lines from 252.5 to 300
(18,000 60 = 300). However, increasing the horizontal frequency may
mean that you must use nonstandard beam deflection com ponents to achieve
this higher sweep or scan rate. In addition, you m ust now also increase the
video frequency if you still wish to attain the sam e num b er of characters per
line. Thus this approach to increasing the number of data rows can be quite
expensive.
Refresh Another approach is to reduce the vertical scan frequency. For exam
Frequency ple, if you m aintained the horizontal frequency at 15.75 kHz but decreased the
vertical frequency from 60 Hz to 45 Hz, you would increase the n um ber of
horizontal scan lines from 262.5 to 350 (15,750 -s- 45 = 350). The main prob
lem with this approach to increasing the number of scan lin es is that if the
vertical refresh rate is not synchronized with the CRT’s power line fre
quency, the electron beam can be deflected by stray m agnetic fields,
especially those produced by nearby power transform ers. This effect can cause
raster jitters if the sources of m agnetic interference are not adequately
shielded. For this reason it is usually advisable to have the refresh frequency
be the sam e as the power line frequency. T herefore, the refresh frequency
used in the U nited States is usually 60 Hz, while in other countries where the
power frequency is 50 Hz the refresh frequency for CRTs is usually 50 Hz.
CRT Principles of Operation 1-7
Interlaced Another method of increasing the number of scan lin es available for
Scanning displaying data is to use a method known as interlaced scan. This is the scan
ning m ethod used in broadcast television. In an interlaced scanning system ,
only half of the screen is refreshed during each vertical sweep cycle. Interlaced
scanning can be illustrated as follows:
Field 1
Combined fields
(One complete frame)
Field 2
An interlaced raster scanning system employs two sweep fields: when the
electron beam reaches the m iddle of the first field’s bottom line (line 262 in the
illustration) it retraces not back to the top left corner, but rather to the middle
of the top line w here it is offset vertically by half a line. Thus the first line (line
263) of the second field is traced betw een the first two lines (lines 1 and 2) of
the first field. The fields com bine to m ake up one com plete display frame.
One of the problems with this interlaced scan method is that you effec
tively halve the refresh rate: if the vertical sweep frequency is 60 Hz then a
particular line on the screen will only be refreshed at a 30 Hz frequency. This
525 lines per fram e, 262.5 lines per field interlaced scanning pattern we have
ju st described is the system that is used in the U nited States for broadcast
television. Since television scene content consists of large w hite areas, with
adjacent fields being repeated, the low refresh rate provided in th e interlaced
scan m ethod is quite acceptable. H ow ever, if you are using the CRT to display
alphanum eric characters, all of the displayed data consists of small elem ents,
and adjacent elem ents are not the sam e. In this application, an annoying flicker
will usually result at a 30 Hz refresh rate unless a long persistence phosphor is
used on the CRT screen.
1-8 The CRT Controller Handbook
com pleted. T hus dot inform ation for each of the 80 characters on the character
row m ust be presented to the CRT a total of seven tim es. The dot pattern pre
sented for each character differs for every scan line. To see how the dot infor
m ation for each character could be provided, let us exam ine the com position of
a single character.
In Figure 1-3, each character is created in a 5 x 7 m atrix. Thus each
character is actually represented by a total of 35 dots which can be either on
or off. We could therefore store the pattern for a single character in a 35-bit
memory device which could be represented as follows:
3 5 -b it
M em ory Device
1 1 1 1 0
1 0 0 0 1 • • •
1 0 0 0 1
Row Select
1 1 1 1 0 • • •
1 of 7
1 0 1 0 0
1 0 0 1 0
1 0 0 0 1
CLK ■
ni
Shift Register
(Parallel-to- • To VIDEO
Serial)
1-10 The CRT Controller Handbook
We could now address the desired character in this ROM using six
address inputs, and specify the dot row of that character using the three row
select or scan line address inputs. As each character is required for presentation
to the CRT, the character address inputs are changed to select the necessary
character, while the scan line address inputs to the device access the correct dot
pattern for the current scan line.
CRT Principles of Operation 1-11
There are two problems with the sim ple approach we have illustrated:
we are using an unnecessarily large number of address lin es, and we have
not defined a way in which we can consecutively present the proper character
addresses to the ROM device. The first problem is easily dealt with: since we
will always be accessing the scan lines in consecutive order (1 through 7) we
can sim ply provide a scan line counter which w ill increment the scan line
address (or dot row address) to the ROM as each CRT scan line is com
pleted. In our illustrated exam ple, a three-bit counter could be used to gener
ate the scan line addresses:
Now the scan line address inputs to the ROM will rem ain constant for a
com plete scan line, while the character address inputs will be changed to
address the dot pattern for each of the characters on an 80-character row.
W hen a scan line is com pleted, the counter is increm ented to select the next
dot pattern row and the sam e 80-character sequence will be repeated until all
seven rows have been scanned. W hen a subsequent 80-character row is to be
presented to the CRT, the 3-bit row counter will be reset to once again address
dot row 1 for the new character sequence.
Character The ROM , scan line address counter, and parallel-to-serial shifter
Generators logic that we have just described comprise what we call a character genera
tor. Because this com bination of devices is used so frequently, a num ber of
com panies provide fully integrated character generator devices. You can get
character generator devices that provide the required dot patterns for full
ASCII character sets with a 5 x 7 or 7 x 9-dot m atrix for each character. The
amount of logic included on character generator devices varies: som e include
character address latches, scan line counters, and parallel-to-serial shifters,
while other character generators may consist simply of the ROM with the
1-12 The CRT Controller Handbook
required dot patterns stored in the device. For purposes of our discussion, we
w ill define the character generator functions as including the elem ents
illustrated below:
Character Generator
Character
Address Latches
Scan Line K.
Scan Line C LK- ROM
Counter
Dot C LK-
E
Shift Register
(Parallel-to- -T o VIDEO
Serial)
Now that we are familiar with the character generator functions, we must
still find a way to successively present the character address inputs to the
character generator and to present this 80-character sequence of addresses
repetitively (once for each scan line) as each character row on the CRT is
written. One sim ple schem e would be to construct an 80-character buffer
which would be loaded with the data that is to be displayed. The characters in
this buffer would then be accessed one after the other and presented to the
character generator as each scan line is w ritten to the CRT. The contents of this
80-character buffer would be accessed once for each scan line com prising a
character row (seven tim es in our 5 x 7 m atrix exam ple). The relationship
between the character row buffer and the character generator can be illu s
trated as follows:
80-Character
Character Select
Data Buffer
Data
Character
Address
Scan Line C LK -
Character
►To VIDEO
Generator
Dot CLK -
CRT Principles of Operation 1-13
One aspect of this relationship may not be obvious: the data word from
the 80-character buffer is used as an address input to the character generator.
A lthough the use of a data word as an address may seem a bit unusual, there is
no reason why the bit pattern representing a character cannot be used as an
address; each character has a unique bit pattern and thus presents a unique
address to the character generator ROM.
SCREEN MEMORY
Thus far, we have developed the logic necessary to present one 80-
character row of data to the CRT for display. You w ill recall, however, that
data on the CRT screen m ust be refreshed or rewritten to the screen at fre
quent intervals (50 or 60 H z). In addition, the screen w ill be comprised of
more than a single line of characters. One solution is to set aside an entire
block of memory for storage of data that is to be displayed on the screen. For
exam ple, if our CRT screen is going to be capable of displaying twenty-four
80-character lines of information, we can assign a block of 1920 (80 x 24)
memory locations to store the screen data.
Screen The memory used to store the data for display on the screen is referred
Memory to as screen memory. The data in the screen m em ory is presented to the
character generator, which then sends the appropriate dot stream to the CRT.
Logic m ust be provided to address the screen memory so that the appropriate
data w ill be accessed for presentation to the character generator. The data in
the screen m em ory could be accessed as 80-byte lines, with each of the twenty-
four 80-byte lines accessed seven tim es in order to produce the seven scan
lines that com prise a character row. The preceding illustration shows data
from screen memory being applied directly to the character generator.
However, we have not provided a path for putting data into screen memory;
obviously, screen m em ory would not be read-only m em ory, since we want to
be able to vary the data that is displayed on the CRT screen. Typically, screen
1-14 The CRT Controller Handbook
memory would sim ply be connected to the system data bus as shown in the
following illustration:
Now the microprocessor can load screen memory with data that is to be
displayed on the CRT screen. Subsequently, the stored data in screen
memory can be applied to the character generator as required to create the
display. One problem with this arrangem ent is that the character generator
requires that the sam e data be applied to it over and over again in order to
create the dot stream for the CRT. This results in the system data bus being
used alm ost continuously to pass data from screen m em ory to the character
generator. U se of the system data bus for this purpose could be greatly
reduced by combining the 80-character line buffer which we discussed ear
lier with the screen memory approach:
Address
To VIDEO
CRT Principles of Operation 1-15
A complete character row can now be loaded into this buffer from
screen memory via the system data bus. The contents of the 80-character
buffer will then be repeatedly presented to the character generator while the
scan lines com prising a character row are being sent to the CRT screen. With
this approach, the system data bus will be used by the CR T-related devices
only when a new line of characters m ust be passed from screen m em ory into
the line buffer. While use of the system data bus by CR T-related functions is
still significant, the line buffer approach does help to alleviate traffic.
The preceding illustration still does not deal with the logic required to
generate the addresses to access screen memory; this is one of the functions
typically provided by a CRT controller. The following illustration includes a
logic block to generate addresses for screen memory:
t.t.r.1.1 I * t: n-H-t tf
Underscore cursor
Some of the CRT controllers allow you to program the cursor so that it
appears as a block rather than as a single line. The cursor can also be m ade to
autom atically blink on and off with som e CRT controllers. A block-type cursor
symbol can be illustrated as follows:
Block cursor
Light Pen The primary m ethod used to coordinate the input of data by an operator
Inputs to an appropriate spot on the CRT screen is to position a cursor to indicate the
point of entry. An alternate method, often used in graphic-oriented CRT
system s, is a light pen input. W ith this m ethod, you simply hold the light pen
against the CRT screen to physically indicate the position w here a transaction
or change is to occur. Im plem enting a light pen input into a CRT system
requires additional external hardw are and implies the presence of som e addi
tional logic. To understand what is required, let us briefly discuss how the light
pen input works.
Light pens are actually light sensor devices. W hen you hold the light pen
against the CRT screen, it will detect the passage of the C R T ’s electron beam
in front of the pen, generating a pulse which is sent to the CRT controller.
Since the CRT controller is generating all of the scan line and character counts
for the CRT screen, it knows the position of the electron beam on the screen at
any given m om ent. T hus, when it receives the signal from the light pen, the
values from the controller’s appropriate counting registers can be saved to
record the position of the light pen.
Several of the CRT controller devices we will describe provide a light pen
input. All of them simply use an internal register to store the appropriate
counter values at the tim e when the light pen input signal is received. The
m icroprocessor can then read the value stored in the register to determ ine the
location of the light pen.
CRT Principles of Operation 1-17
Scrolling If the CRT screen is being used for entry of data or display of text, it is
often desirable to make the screen appear as though it were a sheet of paper
in a typewriter. Text is entered beginning at the top line of the screen and
subsequent lines are entered below. When the bottom line of the screen is
reached, the text on the screen is moved up, or scrolled. Scrolling on the
screen causes the top line to be lost from view w hile creating a vacant bottom
line for entry of additional data. This scrolling operation can be illustrated
as follows:
Before Scrolling After Scrolling
There are a number of ways that the scrolling operation can be im ple
mented. The m ost straightforw ard m ethod from a conceptual point of view is
to simply m ove the data in screen m em ory. This approach can be illustrated as
follows:
1000 I T I E X |n | 1000 T
T|M ' K E ll x T l ■-I I | N E l h i
1010I t I e x T|W ' M h i I 2 ]*) 1010 T x T| l | I | N E l h i
1020I t | e x i [ n |h i 1020 T X t | Li I N El
t |M ht> h
CO
x
11N E |
0
LU
1-
t | L 1030 T X T L I N E 5
- H
10 4 0 j t | e X t | l | i M 1040
h i h i I I I I I
T here is a very obvious problem with this approach: m oving all of the
data around in screen m em ory requires an unacceptably large am ount of tim e
and attention from the m icroprocessor.
1-18 The CRT Controller Handbook
A m uch sim pler m ethod of perform ing the scrolling function is to m ain
tain a register which will hold the screen m em ory address w here th e first line of
displayed data begins. This address, which we will call TOP, would be used as
the starting point when screen m em ory is accessed at the beginning of the first
scan line on the screen. W hen the contents of the screen are to be scrolled
upw ards, the register holding the TOP address is increm ented by a value cor
responding to the n um ber of characters contained in one line. This approach
can be illustrated as follows:
Before Scrolling A fter Scrolling
The display that would result from this type of character scrolling opera
tion can be illustrated as follows:
Before Scrolling A fter Scrolling
need 128 bytes of screen m em ory which we will position at addresses 100016
through 107F16. N ow , when the entire screen is filled with text and we want to
scroll the screen data upw ard, we m ust add 1616 (1010) to the TOP register. This
can be illustrated as follows:
Before Scrolling
TOP Register
1000-16 | T 1 E 1 X I T I L |
IQ IO lfil T | E | X | T | L 1 N| E| | n | u | m | B | E | R | 2 | 1F16
1020-1 fi I t | E | ~ x T r E m n | u| m| b | e | r | 3 l 2F16
N U M B
nz
T E X T m l N | U | M 1 B | E I R | 5 | 4 F 1fi
L n N | u| M rE 5f16
=| X | T
n hue n | u | m[ b | E I R 1 7 | 6F-) 6
1 0 7 0 i f i | T| E f x p nU E n [ U I M I B I E I R I 8 | l0 7 F 16
1 6 Bytes -
h
After Scrolling
h i h i |xlIt L 1 N e |1 | n | u M B lh i 1 r 1
T X h 1| N E l N u M Bih R 2
T E X N N
00
LU
T L ' M R 3
T E X T L 1| N E N U M Bh R h
T E x'I " • N E N U M h R h
T E X hiu 1 N E N U M B E R 6
h X L ' N E N M hi Rh
10701 6 [ |x | T L • N E | n| |M B hihihi 1 0 7 F 16
i o8o16n r r T T T J r 1 0 8 F 16
1 6 Bytes
CRT Principles of Operation 1-21
W hen the next scan of screen m em ory begins, it will now start with loca
tion 101016. Eight lines of text (128 characters) will be displayed; how ever, the
bottom line displayed on the screen will not consist of the contents of m em ory
locations 108016 through 108F16; instead, TEX TLIN E NUM BER1 from
m em ory locations 100016 through 100F16 will be displayed as the bottom line.
The screen display can be illustrated as follows:
Memory This phenom enon is due to w raparound of screen m em ory. In our exam
Wraparound ple we require only 128 bytes of screen mem ory. Only seven address lines
(A0-A6) are required to select one of the 128 locations. T herefore, the screen
m em ory addressing logic need only generate seven address signals for connec
tion to the screen m em ory. W hen the last character in the last row of screen
m em ory (location 107F16) is being accessed, the seven address signals gener
ated by the screen m em ory address logic will all be set to 1 to represent the
address 7 F 16. The next tim e the screen m em ory address logic is increm ented,
the seven address lines will all be set low. Since only these seven address lines
need be applied to the screen m em ory to select one of the 128 locations, the
next location that will be accessed after 107F16 will be the first location in
screen m em ory (100016). T he m ore significant address lines needed to repre
sent the address 108016 are not connected to screen m em ory and are therefore
not a factor in the screen function. They may, of course, be used in other ways
within a system to select other m em ory or I/O devices, or as chip enable inputs
to the screen m em ory devices, but these uses can be m ade transparent so far as
the screen m em ory address logic is concerned.
T here is still one problem with this w raparound technique of scrolling. In
the exam ple we ju st illustrated, all of the text has been m oved up one line.
H ow ever, since the last line of screen m em ory now effectively consists of
m em ory locations 0016 through 0 F 16, the bottom line of the screen will display
TEX TLIN E NUM BER1. In order to have the last line of the display cleared,
the m icroprocessor m ust write blanks or spaces into the appropriate line of
screen mem ory. In addition, the line of screen m em ory that m ust be cleared
will change with each scrolling operation. For exam ple, after the bottom line of
1-22 The CRT Controller Handbook
screen m em ory has been cleared and a new text line (TEX TLIN E NUM BER9)
has been entered, the following scrolling procedure would be perform ed:
Before Scrolling
O
U-
I T T L I n M
CO
e | x| I N e | Bl e |i R
1010 16 T T L N E N M E 2 1F16
* 8 R
1 0 2 0 16 T L N B 3 2F16
f I x .T N E U M E !r
T E X T L N M B E 4 3 F 16
Ni u R
T E X L N E N| M B E R 5 4 F i6
T E X L N E N M E R 6 5F16
T
T E X T L N E N u M B E r ! 7 l 6 F 16
1070*1 e I T X T L |
I N E N M B l| E I R | 8 1 1 0 7 F 16
1 6 Bytes
h
After Scrolling
TOP Register
EI x I TI L I | N|E| | N | U l M | B | E I R [3 )
E X T L N[ E| | N|UIM| B| e T~R
E nr
X | n | e | | n | u | m | b | e | r | 5 |
H U I N| E| ] N |U|M| BI
H XI t | l ■I N| E| | N| u| M| B| E| R| fl
1 0 7 0 16 T E X T L | NI E I I N | U | m |BI EI RI 8
1 0 7 F 16
1 6 Bytes
CRT Principles of Operation 1-23
Now the top of screen m em ory begins at address 1020l6, and it is the old
TEXTLIN E N U M BER2, which begins at screen m em ory location 1010,6, that
m ust be cleared by the m icroprocessor to clear the bottom line displayed on the
screen. This scrolling procedure obviously im poses som e burden on the
m icroprocessor to keep track of the current bottom line of display m em ory and
clear that line as part of each scrolling operation. H ow ever, this wraparound
approach to scrolling m akes the screen m em ory address logic provided by a
CRT controller quite straightforw ard. A nd, since it is this addressing logic
which m akes the majority of accesses to screen m em ory, it is im portant that
this logic be kept simple.
8 0 Characters
8 0 Characters
CRT Principles of Operation 1-25
Before continuing with our description of the timing chain, let us look
a bit more closely at the H SYNC signal. The horizontal retrace time can be
subdivided into three intervals: the HSYNC delay, the H SY NC pulse, and
the horizontal scan delay. This can be illustrated as follows:
M >
HSYNC
(2 ) HSYNC Pulse
6 4 0 nanoseconds =
1-28 The CRT Controller Handbook
Character The 15.625 kH z frequency m ust be m ultiplied by 100 to derive the time
Clock allotted to a single character. Thus, the character clock frequency for our
timing chain would be 1.5625 M H z.
We are going to use a 6 x 8 character formed in an 8 x 10 m atrix for
this exam ple. Each character tim e along the horizontal scan line m ust
therefore be divided into 8 dot tim es:
From Character
Generator
6 4 0 nanoseconds =
1 Character tim e
64 fx s e c
8 0 Characters —
CRT Principles of Operation 1-29
Dot The dot clock that we need to clock the shift register which generates
Clock VIDEO m ust therefore operate at a frequency of 12.5 M H z (1.5625 x 106 x
8 = 12.5 x 106). This dot clock frequency is the highest that w ill be required
in our system .
Now we have developed the tim ing chain from the highest frequency
required down to the standard HSYNC frequency accepted by m ost CRT
m onitors. Since we have decided to use an 8 x 10 m atrix to create each
character on the screen, each character row will therefore require a total of 10
scan lines, or 640 m icroseconds including horizontal retrace tim e. A character
or data row clock would thus run at a frequency o f 1.562 kHz (15.625 kHz
10).
From Character
Generator
1-30 The CRT Controller Handbook
VSYNC The next timing constraint we m ust deal w ith is the vertical syn
chronization (VSYNC) pulse used to initiate vertical retrace. Y ou will recall
that m ost CRT m onitors in the U.S. are designed to operate with a VSYNC
pulse frequency of 60 Hz. We could m eet this param eter if the total num ber of
horizontal scan lines on our screen was approxim ately 260 (15,625 260 =
60.096). T hus, our display would consist of 26 character rows of 10 lines each.
Of course, som e tim e will be required for the vertical retrace operation. A typi
cal value for this vertical retrace tim e might be 1 millisecond. So a period of
tim e equivalent to 20 horizontal scan lines would give sufficient tim e (20 x 64
x 10~6 = 1.28 x 10~3) for the vertical retrace. This would leave a total of 240
scan lines, or 24 character rows for display of data.
Figure 1-4 illustrates the entire timing chain that we have developed.
As we mentioned at the outset, the values we have used in this exam ple were
chosen for reasons of clarity. The actual values you use w ill doubtless be
different. To highlight some of the ways in which you can vary the tim ing
chain, let us sim plify Figure 1-4 as follows:
12.5 MHz
Scan lines/Screen
(Including Retrace)
CRT Principles of Operation 1-31
From Character
Generator
y
Dot CLK
Dots/Character
1.782 kHz
• Character Clock
Characters/Scan Line
-5- 110 (Including Retrace Time)
16.2 k
HSYNC
Data Rows/Screen
30
(Including Retrace Time)
60 Hz
VSYNC
D P 83 5 0
8275 6845 6545 5 0 2 7 (9927)
National
Intel M otorola Synertek S M C (TO
Semiconductor
On-Chip
Yes No No No No
Dot Timing
Synchronization
Signals
H S Y N C /VSY N C Yes Yes Yes Yes Yes
Composite No No No No Yes
Programmable Yes No Yes Yes Yes
Display Format
Characters/Row 5 -1 1 0 1 -8 0 1 -2 5 6 1 -2 5 6 2 0 -1 3 2 *
Rows/Frame 1 -6 4 1 -6 4 1 -1 2 8 1 -1 2 8 1 -64
Scan Lines/Row 1 -16 1-16 1 -32 1 -32 1-16
Transparent
M em ory Contention
No DMA No Memory No
Logic
Addressing
Power +5 V +5 V +5 V +5 V + 5 V, + 1 2 V
RSB 1 40
^ ___ VCC (+ 5
VBLANK 2 39 RSA
5 0 /6 0 Hz 3 38 RLD
VSYNC 4 37 RAE
See te x t 5 36 AO
LC3 0 A1
LC2 7 A2
LC1 QO QQ
JO A3
LC0 9 32 A4
CLRLC ■ 10 D P 83 5 0 J1 A5
CGPRG ------
■ ► 11 30 A6
LBREN ■ 10
Iz OQ
zy A7
LRCLK ■ 13 28 AP
HSYNC 14 27 A9
SYSCLR 15 26 A10
LBCLK 16 25 A1 1
EC/LRC 17
I/ OA
Z^ LCGA
LDVSR 18 23 D0TCLK
1Q 00
ZZ X1
CUREN ~
GND on
zu Zo 1I X2
The DOTCLK Dot Rate Clock is a buffered output at the dot rate clock
frequency used for system synchronization. The positive edge of this signal
should be used to clock the dot shift register.
Screen The next group of signals we shall describe are used to interface the
Memory and DP8350 to screen memory and character generator logic. A subset of signals
Character is included in this group and provides timing for a line buffer. Since the
Generator DP8350 generates the high frequency dot clock, all of these lower frequency
Signals tim ing signals which are derived from that clock are also generated on-chip.
That is the reason for the availability of such a large n um ber of tim ing signals
for the character generator and line buffer logic. No other CRT controller we
describe approaches the com pleteness of the set of tim ing signals provided by
the DP8350. H ow ever, not all of the signals will be required in m any applica
tions since these signals imply a very specific system organization. The system
organization implied by this set of signals is nearly identical to that of our
idealized CRT controller. T hat is, an 80-character line buffer is situated b et
ween screen m em ory and the character generator logic as illustrated in Figure
2-3.
Screen Memory In Figure 2-3, we have shown the signals provided by the DP8350 series
Signals for interfacing to screen m em ory, a line buffer, and a character generator. The
interface to screen memory sim ply consists of the 12 address outputs (AO-
A l l ) and the related RAM Address Enable (RAE) signal which we have
already discussed. T he 12 screen m em ory address outputs allow you to have
up to 4096 bytes of screen m em ory.
2-6 The CRT Controller Handbook
Line Buffer There are three signals associated with operation of a line buffer:
Signals LBCLK, LBREN, and CGPRG. LBCLK is a Line Buffer Clock signal that
is generated at the character rate and which can be used to shift the contents
of the line buffer in order to present the next character address to the character
generator. LBREN is the Line Buffer Recirculate Enable signal and is used
to select the source of input to the character line buffer. In a typical line
buffer, the recirculate enable input, when high, specifies that the character
being shifted out of the line buffer is also to be used as the input to the line
buffer in order to simply recirculate the contents. W hen the recirculate input is
low, it specifies that an alternate data source (in our application, screen
m em ory) is to be used as the input to the line buffer. Thus the line buffer is
shifted and its contents recirculated until all of the scan lines that com prise a
character row have been displayed; the LBREN signal is then set low so that a
new line of data can be loaded into the line buffer. The LBREN signal will go
low at the beginning of one horizontal blanking interval and will rem ain low for
one scan line until the next horizontal blanking interval.
You control the scan line during which LBREN is to be low by using
the Character Generator Program (CGPRG) input to the DP8350. If
C G PR G is low, the LBREN signal will go low during the last scan line of a
character row. If CG PR G is high, then LBREN will go low during the first scan
line of a character row. This allows you to select when the line buffer should be
loaded with a new line, based on w hether the particular character generator you
are using provides blank video during the last scan line of a character row or
the first scan line.
Character The remainder of the signals shown in Figure 2-3 are associated with
Generator the character generator function.
Signals LCGA is the Latch Character Generator Address signal which is used
to load a data word from the line buffer, or from screen m em ory if no line
buffer was used, into the character generator address latch to select the
character for display. The LCGA signal is generated at the character rate
frequency.
The Line Rate Clock (LRCLK) signal and the four line count output
signals (LC0-LC3) are all associated with the scan line count function. The
LRCLK signal is used as an input to character generators which have their
own internal scan line counters to increm ent that internal counter as each
new scan line is begun. The LC0-LC3 signal is applied to a character genera
tor that does not have an internal scan line counter to select the proper scan
line address for each character. Even if you are using a character generator with
an internal scan line counter, the LC0-LC3 signals may still be of use in a
system. For exam ple, you can decode these outputs to determ ine the current
scan line of a character row. This inform ation m ight be used to grant the
m icroprocessor access to the screen m em ory during non-display scan lines of a
character row. _______
The Clear Line Counter (CLRLC) signal is generated after the last
scan line of any character row to reset a scan line counter in preparation for
the first scan line of a new character row. Thus if a character row consists of
nine scan lines, the CLRLC signal will go low after the ninth scan line has been
com pleted (LC3-LC0 = 10002), resetting a character generator scan line
counter to 00002. The DP8350 will also reset its internal scan line counters at
this point (LC3-LC0 = 00002).
The DP8350 CRT Controllers 2-7
L L L None
L H L Top of Page
H L L Row Start*
H H L Cursor
X X H None
X = d o n 't care
* During vertical blanking, a load to this register also loads
Top of Page
Top of The Top of Page register contains the 12-bit screen memory address of
Page the first word to be displayed on the screen. For exam ple, if the Top of Page
Register register contains 0F 016, then the data contained in screen m em ory location
0F 0 16 will be displayed in the first character position of the first character row
on the screen. This can be illustrated as follows:
D P 83 5 0
The DP8350 CRT Controllers 2-9
The Top of Page register is loaded with all 0’s after system clear, and
its contents w ill not change until or unless you load a new value into this
register. The m ost com m on use of the Top of Page register will be to im ple
m ent scrolling; by loading the Top of Page register with a new value, you effec
tively m ove the data that is displayed on the screen. For exam ple, if our display
consists of 80-character lines, then we could scroll the screen contents up one
line by adding 80 (5016) to the current value held in the Top of Page register.
This can be illustrated as follows:
D P 83 5 0
Cursor Register |
OFC
14C B "A
Row Start The Row Start register contains the screen memory address of the first
Register character that is to be displayed on a given character row. At the beginning
of every video scan line, the D P 8350’s internal screen memory address
counter is loaded with the contents of the Row Start register. This internal
address counter is then increm ented at the character rate to access each
character required along the scan line. Upon com pletion of a scan line, the
internal address counter is once again loaded with the contents of the Row
Start register in preparation for displaying the next scan line of that character
row When the first character row on the screen is being displayed, the Row
Start register contents w ill be the sam e as the Top of Page register as shown
in the following illustration:
D P 83 5 0
After all of the scan lines that comprise the first character row have
been completed, the contents of the Row Start register are incremented to
point to the screen memory location containing the first character of the next
character row. For exam ple, if our display consists of 80-character rows, then
the Row Start register is loaded with a value of 14 0 16 upon com pletion of the
first character row. The D P8350’s internal address counter is then loaded with
this value to access the first character of the second character row:
D P 83 5 0
2-12 The CRT Controller Handbook
If the Row Start register is not loaded externally, the screen memory
addresses output by the DP8350 w ill be sequential on a row-by-row basis
beginning with the address specified by the Top of Page register and continu
ing through the last character line on the screen. You can, however, load the
Row Start register with a new value at any time. For exam ple, when the sec
ond character row has been displayed, you could load the Row Start register
with a value of 230l6. T hus the first character displayed on the third row of the
screen would be taken from screen m em ory location 230l6 rather than 190l6.
This can be illustrated as follows:
D P 83 5 0
This ability to display rows of data that are not arranged sequentially
in screen memory can be quite useful for text editing applications. For exam
ple, if you wish to exchange two com plete character rows of data on the screen,
it is not necessary to actually m ove any data in m em ory. Instead you can simply
exchange the order in which the row start addresses are loaded into the Row
Start register. This technique would, of course, require that you m aintain an
external table of Row Start addresses and that you load the desired address into
the Row Start register at the beginning of each character row.
You can load the Row Start register at any tim e, and that new row start
ing address will take effect at the beginning of the next scan line. If you are
m anipulating the Row Start register to accomplish non-sequential row address
ing, you should load the Row Start register with its next value after the start of
video tim e of the last scan line of the current character row. If you load the Row
Start register during vertical blanking, the sam e value will autom atically be
loaded into the Top of Page register since, at the beginning of the display, both
the Row Start register and Top of Page register m ust contain the sam e value.
The DP8350 CRT Controllers 2-13
Cursor The Cursor register holds the address of the position where the cursor
Register is to be displayed. You do not directly specify the screen location where the
cursor is to appear, nor do you store a pattern representing the cursor in screen
m em ory. Instead you load a screen m em ory address into the C ursor register
and, when the contents of that m em ory address location are being displayed,
the C ursor Enable (CU REN ) signal will be generated to cause a cursor symbol
to appear on the screen. For exam ple, if you load the C ursor register with an
address of 14116, then w hen the contents of screen m em ory location 14116 are
being displayed, the cursor will also appear on the screen. This can be illus
trated as follows:
r«D P 83 5 0 1
0F0
140
RAE D P 83 5 0
Microprocessor LC0-LC4
Address
A 0 -A 1 1
Bus LCGA LDVSR
iz .
Screen Character
Data
M em ory
a Generator
I-
Row &tart I
Re^ J
L ___1st
^Character
— 2nd — *J
Character
:tpr •
h —Last ^j
Character 1
—
A0-A1 1 ^ Max - 1 | Max J
I « i
Data from
Screen Memory
| Max - 1 J Max J
j • i * ;U -
No other DP8350 tim ing signals are required to access screen memory
and present the required data to the character generator. The RAM A ddress
Enable (RAE) and scan line count signals (LC0-LC3) can be used by bus con
tention logic to determ ine when the m icroprocessor can access screen m em ory
and use the system busses.
2 -16 The CRT Controller Handbook
i____________________________i
D ata from screen m em ory serve as the symbol or character address
inputs to the character generator. This address is then used to access the ROM
which holds the dot pattern for that symbol. The dot pattern is read out of
ROM and loaded into the parallel-to-serial shift register. T he dot pattern is
then shifted out serially to create the VIDEO signal.
In this sequence, two different memory devices (screen memory and
the character generator ROM ) m ust be accessed and the output from each
memory device latched (into the character generator latch and video shift
register respectively). Consequently, all of the access tim es, setup and hold
tim es, and various settling and delay tim es are cum ulative. Thus you must
begin to access the first character for display on a scan line some tim e in
advance of the point where you m ust actually begin presenting VIDEO to the
CRT monitor. The D P8350 has taken these factors into consideration; it
generates the first screen memory address approximately three character
tim es ahead of the point where the first dot m ust be sent to the CRT m oni
tor. For detailed inform ation on tim ing, refer to the specifications in the data
sheets provided at the end of this chapter.
The DP8350 CRT Controllers 2 -1 7
The line buffer has two modes of operation: during those scan lines
which com prise the display portion of a character row, it continuously recircu
lates the data which com prises the character row. Prior to the beginning of the
display portion of a character row, th e line buffer m ust be loaded with the data
which it will then recirculate. When the Line Buffer Recirculate Enable
(LBREN) signal is high, data w ill be recirculated. A low level on LBREN
indicates the time during which the line buffer is loaded with the next row of
characters. The D P8350 sets LBREN low at the start of the horizontal blank
ing interval which precedes the non-display scan line where you want to load
the line buffer. If the C haracter G enerator Program input (C G PR G ) is low,
this will be during the last line of a character row, and if C G PR G is high it will
be during the first line of a character row. T he LBREN signal will rem ain low
until the start of the next scan line.
2 -18 The CRT Controller Handbook
The timing for the line buffer loading operation can be illustrated as
follows:
Row Start
Register
i 2 t : i m,. - . r ^ n r
»••• — y— ;— »— n r * — i m„ - , i r
ten M e m o ry A A * J * * A
LBCLK
LBREN
--------------------------------------------- # --------------------------------------------
LDVSR and the LCGA signal to our advantage. The tim ing relationship be
tween these two signals can be illustrated as follows:
The LCGA signal is active at all tim es and its leading edge (negative-to-
positive transition) occurs at the sam e tim e as the trailing edge (negative-to-
positive transition) of LDVSR. Given this relationship, the following circuit
could be used to produce the video blanking signal for both horizontal and
vertical retrace:
CUREN
VIDEO
LDVSR
LCGA
Since both LDVSR and LCG A will be going high at approxim ately the
sam e tim e, you m ust use a flip-flop whose hold tim e requirem ents are near
zero.
The DP8350 CRT Controllers 2 -2 3
MASK-PROGRAMMING OPTIONS
Internally, the DP8350 is controlled by a ROM which determines
many of the operating characteristics of the device. You can specify your
own mask-programmed version of the DP8350 and thus obtain the func
tional characteristics needed for your particular application. Here are the
options that you can specify:
T im in g Many of these options are interrelated and are based upon the timing
Chain chain that you specify. Y our starting point in specifying the program m able
options will depend on your application and such factors as w hether the m ost
im portant criteria are displaying a large num ber of characters, displaying
characters with great resolution, using widely available low-cost CRT m oni
tors, and so on. Let us begin by seeing what some of the lim its are on the tim
ing chain specification.
The tim ing chain illustration that follows is the generalized one we
developed in Chapter 1 with m axim um allowable values for the DP8350
inserted:
25 MHz (Max)
V
DOTCLK (Video)
-T-1
128
28 (Max) Characters/Scan Line (Including retrace)
► Horizontal Sync
Vertical Sync
2 -2 4 The CRT Controller Handbook
Item
Parameter Value
No.
9 Delay after/before Vertical Blank start to start o f Vertical sync ( + / - Number o f Scan Lines) f1 = fO =
11 Delay after Vertical Blank start to start o f Video (Number o f Scan Lines)
17 Delay after/before Horizontal Blank start to Horizontal Sync start ( + / - Character Times)
22 Cursor Enable on all Scan Lines o f a Row? (Yes or No) If not, w hich Line?
23 Does the Horizontal Sync pulse have Serrations during Vertical Sync? (Yes or No)
W idth o f Line Buffer Clock logic " 0 " state w ithin a Character Time
24
(Number o f Dot Time increments)
Note 1 : If the Cursor Enable, Item 22, is active on only one line o f a character row, then Item 21 m ust be either " 1 ” or “ 0 "
unless it is the same as the line selected fo r Cursor Enable.
N ote 2: Item 2 4 x Item 2 0 should be > 2 5 0 ns.
Item
Parameter Value
No.
p
1 Dots per Character
Character (Font Size)
2 Scan Lines per Character i
9 Delay after/before Vertical Blank start to start o f Vertical sync ( + / - Number o f Scan Lines) 4 30
11 Delay after Vertical Blank start to start of Video (Number o f Scan Lines) 20 72
13 Horizontal Scan Frequency (Line Rate) (kHz) Item 8 x Item 1 2 15.6 KHz
17 Delay after/before Horizontal Blank start to Horizontal Sync start ( + / - Character Times) 0
22 Cursor Enable on all Scan Lines o f a Row? (Yes or No) If not, w hich Line? Yes
23 Does the Horizontal Sync pulse have Serrations during Vertical Sync? (Yes or No) No
W idth o f Line Buffer Clock logic " 0 " state w ithin a Character Time
24 4
(Number of Dot Time increments)
Note 4: Horizontal and Vertical sync pulses are compatible w ith Ball
Brothers T V -12 or T V -120 series monitors or equivalents.
* 8 0 ch a ra cte rs/ro w x 24 chara cter rows, 7 x 10-ch a ra cte r cell dot m a trix
Item
Parameter Value
No.
9 Delay after/before Vertical Blank start to start o f Vertical sync ( + / - Number o f Scan Lines) 27 53
11 Delay after Vertical Blank start to start o f Video (Number of Scan Lines) 68 120
12 Total Scan Lines per Frame (Item 7 + item 11 = 13 -5- Item 8) 260 312
13 Horizontal Scan Frequency (Line Rate) (kHz) Item 8 x Item 1 2 15.6 kHz
17 Delay after/before Horizontal Blank start to Horizontal Sync start ( + / - Character Times) 6
22 Cursor Enable on all Scan Lines of a Row? (Yes or No) If not, w hich Line? Yes
23 Does the Horizontal Sync pulse have Serrations during Vertical Sync? (Yes or No) Yes
W idth o f Line Buffer Clock logic " 0 " state w ithin a Character Time
24 5
(Number o f Dot Time increments)
Item
Parameter Value
No.
9 Delay after/before Vertical Blank start to start o f Vertical sync ( + / - Number o f Scan Lines) 0 32
11 Delay after Vertical Blank start to start of Video (Number o f Scan Lines) 20 84
12 Total Scan Lines per Frame (Item 7 + item 11 = 13 + Item 8) 320 384
13 Horizontal Scan Frequency (Line Rate) (kHz) Item 8 x Item 1 2 19.20 kHz
17 Delay a fter/before Horizontal Blank start to Horizontal Sync start ( + / - Character Times) 5
22 Cursor Enable on all Scan Lines of a Row? (Yes or No) If not, w hich Line? Yes
23 Does the Horizontal Sync pulse have Serrations during Vertical Sync? (Yes or No) No
W idth o f Line Buffer Clock logic " 0 ” state w ithin a Character Time
24 5
(Number of Dot Time increments)
Note 4: Horizontal and Vertical sync pulses are compatible w ith Motorola M 3 0 0 0 series m onitors or equivalents.
fy
(27) VBLANK
■ ih
0 to ( @ - 1)
- ih scan lines
VSYNC
L
Video
-tt-
LCGA f \
U '
Hblank
— @ — j. - --
@ HYSNC
'
@ @
------------------© --------------- A
19
©
15
14
Scan lines/Screen
(Including retrace)
Tables 2-2, 2-3, and 2-4 are option program tables for the prepro
gram m ed devices available.
2-3 2 The CRT Controller Handbook
DATA SHEETS
This section contains specific electrical and tim ing data for the DP8350.
The DP8350 CRT Controllers 2-3 3
DP8350
Crystal Inputs X1 and X2: The “ Pierce’ -type oscillator Table 4. Typical Crystal Specifications
is controlled by an external crystal providing parallel
resonant operation. Connection of external bias compo Specification
Parameter
nents is made to pin 22 (X1) and pin 21 (X2) as shown in DP8350 I DP8352 DP8353
Figure 6. It is important that the crystal be mounted in
close proximity to the X1 and X2 pins to ensure that Type At-Cut
printed circuit trace lengths are kept to an absolute mini Frequency 10.92MHz | 7.02MHz | 17.6256MHz
mum. Typical specifications for the crystal are shown in
Tolerance 0.005% at 25 °C
Table 4 for each of the standard products, DP8350,
DP8352, and DP8353. When customer mask options re Stability 0.01% from 0°C to +70°C
quire higher frequencies, it may be necessary to change Resonance Fundamental, Parallel
the crystal specifications and biasing components. If Maximum Series
the CRTC is to be clocked by an external system dot Resistance 50Q
clock, pin 22 (X1) should be driven directly by Schottky
Load
family logic while pin 21 (X2) is left open. The typical
Capacitance 20 pF
threshold for pin 22 (X1) is Vcc/2.
C1
TO INTERNAL
LOGIC
CRYSTAL
Custom Order Mask Programmability: The DP8350 Table 5. Mask Programming Limitations
Series CRT controller is available in three standard op
tions designated DP8350, DP8352, and DP8353. The
Desig Min. Max.
nation Parameter Value Value
functional format of these devices was selected to meet
the typical needs of CRT terminal designs. In order to f DOT Dot Rate Frequency DC 30 MHz
accommodate specific customer formats, the DP8350 ^CHAR Character Rate Frequency DC 2.5 MHz
series CRT controller is mask programmable with a Line Buffer Clock Logic “0”
diverse range of options available. The items listed in Width (Item 20 x Item 24) 200 ns
the program table worksheet indicate the available Item 3 Dots per Character Field
options, while Table 5 tabulates the programming con Width 4 16
straints. Item 4 Scan Lines per Character
Field 2 16
Item 12 Scan Lines per Frame 512
Item 14 Character Times Video 5 122
per Row Blanking 6 123
Item 11 Scan Lines per Vertical (Item 4)
Blanking +2
If the cursor enable o utput, Item 22, is active on only one
line of a character row, then Item 21 value must be either
“ 1” or "O” or equivalent to the line selected for the
cursor enable output.
DP8350
Absolute Maximum Ratings (Note i> Operating Conditions (Note 6)
Supply Voltage, VCc 7.0V Min. Max. Units
Input Voltage 5.5V Vcc. Supply Voltage 4.75 5.25 V
Output Voltage 5.5V Ta, Ambient Temperature 0 *70 °C
Storage Temperature Range 165°C to S150°C
Lead Temperature (soldering, 10 seconds) 300°C
Electrical Characteristics ,
vcc = 5 v ± 5 % , t a = o ° c to + 7 o °c (Notes 2 3 , and 5)
•os Output Short Circuit Current Vcc = 5V, Vqut = 0V (Note 4) 10 40 100 mA
Load
Parameter Circuit Notes Min. Typ. Max. Units
DP8350
Switching Characteristics (cont’d)vCc=5.ov±5%,TA=25oc(Note7)
Load
Parameter Circuit Notes Min. Typ. Max. Units
Note: CL includes probe and jig capacitance. All diodes are 1N914 or equivalent.
2-36 The CRT Controller Handbook
DP8350
Switching Waveforms tr = tf < 10 ns
X2 (PIN 21) = OPEN
I tpdl I tpdO
DOT COUNT
VERTICAL SYNC
HORJZONTAL SYNC
Note 1: A ctual p ola rity and position of the horizontal sync start and stop p oints is a function of the particula r device form at.
Note 2: All m easurement points are 1.5V.
DP8350
Switching Waveforms (cont’d)
|—
—tpW2--|
REG ISTER
LOAD
\ J
3V -
REGISTER
S E LEC T
A AND B
OV - r z r x
ADDRESS
BUS
3 o e
Note 1: All measurement p oints are 1.5V.
Note 2: t r = tf < 1 0 n s .
Note 3: Address enable (pin 37) = 0V.
Figure 11. Register Select and Load Waveforms Figure 12. Address Output Enable/Disable
Waveforms
Timing Diagrams
\i o o r i r T r i ^ n r ~ L ] ^ n r “i r a r i ^
i i „ i
r U « y « y
I
I
xn d |n x z i _ n i I n i
--eH— -1----
—
r
----- r
---1—^ i
-------- 1-------r -^<h------ 1
i i—^ __ i _L_ -~rH H - _ i_
Note 1: One full row before start of video the line counter is set to zero state — this provides line counter synchronization in cases
where the number of lines in vertical blanking are not even m ultiples of the number of lines per row.
Note 2: The position of the line buffer recirculate enable logic low level is a function of the logic level of the address mode input (see
Table 3).
Note 3: The stop point of the vertical blanking output active signal is a function of device type or custom option, and will always be
within one row prior to video.
Note 4: The transition start and stop points of the vertical sync output signal are a function of device type or custom option.
Figure 14. Line/Frame Rate Functional Diagram
—l- i—
HORIZONTAL
SYNC
OUTPUT
__ n _ n ____n U LJ— LTL _ R _
<•— SERRATION PULSE ENVELOPE— I
I— T2|— — -| T1 | -T 2 * |
Note 1: The vertical sync transition point is always coincident with the beginning of horizontal blanking.
Note 2: T1 and T2 intervals represent the range of alignm ent offset between the vertical sync pulse and the serration pulse envelope
and is a function of the horizontal sync position with respect to the beginning of horizontal blanking.
DP8350
3
The 8275 CRT Controller
The 8275 does not provide any dot timing logic but does generate the
lower frequency scan line counter signals and H SY NC and VSYNC timing
signals. The cursor logic and blanking logic provided by the 8275 is quite
extensive and allows you to easily im plem ent a number of options with a
m inim um of external circuitry. Light pen logic is also provided by the 8275.
T he sole m anufacturer of the 8275 device is:
1 40
2 39
3 38
4 37
5 36
6 35
7 34
8 33
9 32
10 8275 31
11 30
12 29
13 28
14 27
15 26
16 25
17 24
18 23
19 22
20 21
» O »
m 2 * CC0-CC6 Character Code (Inputs to Character Generator) O utput
2 ® E,
<0 c .? LC0-LC3 Scan Line Counter Output
-c a> co
o a
Character There are two sets of signals associated directly with character genera
Generator tor logic: CC0-CC6 and LC0-LC3.
Signals CC0-CC6 are the Character Code Outputs from the 8275 which will be
used as inputs to character generator logic. The 7-bit character codes are
simply the contents of the 8275’s internal character row buffers and typically
represent ASCII characters. N ote that you load the internal row buffers with 8-
bit data characters from m em ory but only output 7-bit character codes; the
m ost significant bit of the m em ory data word is used to differentiate between
special control codes and data for display and is not output on the character
code lines. The m ost significant bit of data that is to be displayed m ust be set to
0. W ith the rem aining 7-bit character codes you can represent 128 different
characters. These are typically address inputs to the character generator.
The LC0-LC3 outputs are scan line counter signals which are used by
character generator logic to select the proper dot pattern for the particular
scan line currently being output. These are typically additional address
inputs to the character generator.
CRT Monitor The 8275 provides an abundance of CRT monitor-related signals.
Signals Some of these signals are the familiar ones we have encountered and discussed
in previous chapters, while others are unique, special-purpose signals. Let us
begin with the standard CRT monitor signals.
HRTC and VRTC are the Horizontal and Vertical Retrace signals
which, in more standard nomenclature, are usually named Horizontal Syn
chronization (H SY N C ) and Vertical Synchronization (V SY N C ). The d u ra
tion of both of these signal pulses is program m able and is established using the
Reset com m and.
VSP is the Video Suppression or blanking output that external logic
can use to blank the video signal to the CRT monitor. The prim ary function
of this signal is to suppress video during horizontal and vertical retrace opera
tions, and it is autom atically set high by the 8275 during these intervals. There
are several other program m able functions for this signal which we shall discuss
further when we describe the CRT m onitor interface.
LTEN is the Light Enable signal which can be used to override
character generator logic and present a continuous stream of dots to the CRT
monitor. The primary function of this signal is to produce a cursor symbol at
a program m ed position on the screen. The signal can also be used in conjunc
tion with special visual attribute codes to produce graphic (non-alphanum eric)
symbols.
RVV is the Reverse Video signal which can be used by external logic to
cause an inversion of the normal video signal. The result of this inversion is
that a white character on a black background is displayed as a black character
on a white background. You can also specify a reverse video cursor block
instead of an underscore cursor: the RVV signal would be used to produce the
reverse video symbol.
HGLT is the H ighlight output signal which can be used by external
logic to produce a dual-intensity display. The 8275 outputs H G LT high at
screen positions that you specify u n d er program control. It is then up to ex ter
nal logic or CRT m onitor electronics to intensify the electron beam at those
points on the screen.
LAO and LAI are Line Attribute signals which can be decoded by
external logic to generate a set of predefined horizontal and vertical line
com binations to produce a lim ited set of 11 graphic sym bols. These two sig
nals are autom atically activated by the 8275 when one of the special control
codes is read from screen m em ory.
The CRT Controller Handbook
GPAO and GPA1 are General Purpose Attribute signals which can be
used by external logic to generate special graphic sym bols beyond those pro
vided by the LAO and LAI codes. Since these signals have no predeterm ined
functions, you can also use them for other system control functions. These sig
nals are also activated autom atically by the 8275 when appropriate control
codes are read from screen m em ory.
LPEN is the Light Pen detect input signal which, in conjunction with
exernal logic, can be used to im plem ent a light pen circuit. A positive edge on
the LPEN input causes the 8275 to capture and store the present row and col
um n screen position inform ation that it m aintains in its internal counters.
As you can see from the preceding paragrahs, many of the CRT m oni
tor interface signals require external logic in order to perform the function
that they are intended for. We shall describe in som e detail how these func
tions might be im plem ented later in this chapter when we discuss the CRT
m onitor interface. We will also see that m any of these signals could be used to
im plem ent functions other than those indicated by their nam es, since all you
are really doing is turning the signals on and off u nder program control at
specified screen positions.
AO CS
□ Primary Registers
□ Secondary Registers
L H RD Status
L H WR Command
L L RD Parameter Reg.
L L WR Parameter Reg.
H X X — none —
Status Figure 3-4 shows the bit assignm ents for the 8275 Status register. The
Register Status register is a read-only register and its contents can be read by the
microprocessor at any tim e.
Status register bit 0 is the FIFO (first-in-first-out) Overrun bit. In
addition to the two 80-character row buffers provided by the 8275, there are
two internal 16-character FIFO registers. These FIFOs are used when you
assign special attributes to character fields within a row and want to have that
assignm ent or control code be invisible. If you attem pt to assign m ore than 16
of these invisible field attribute control characters to a single character row,
then bit 0 of the Status register will be set. We will give a fuller discussion of the
invisible field attributes later in this chapter when we describe screen com posi
tion definitions. Bit 0 of a Status register will be reset when you perform a read
of the Status register contents.
Bit 1 of the Status register is the DM A Underrun bit, and w ill be set to
1 if a D M A transfer requested by the 8275 has not been completed within the
allotted time. (You specify under program control the tim e between DM A
requests; if a preceding request has not been acknowledged by the tim e the
next request is m ade, a DM A underrun condition exists.) T he DM A underrun
bit is reset w henever you read the contents of the Status register.
Bit 2 of the Status register is the Video Enable bit and will be set
whenever the video operation of the CRT is enabled. This bit is set by issuing
the Start Display com m and to the 8275 and is reset by issuing a Stop Display or
Reset com m and.
Bit 3 of the Status register is the Improper Command bit and indicates
that an error was made when issuing a command to the 8275. If you issue or
attem pt to read an incorrect num ber of param eter bytes (either too few or too
many) following a com m and, this bit is set. The Im proper C om m and bit is a u
tomatically reset after you read the contents of the Status register.
Status register bit 4 is the Light Pen Input bit and is set when a nega-
tive-to-positive transition is detected on the LPEN input to the 8275. Since
detection of the LPEN input transition does not generate an interrupt, the
m icroprocessor m ust check the state of Status register bit 4 to determ ine
w hether the LPEN signal has been detected. This bit is reset after you read the
contents of the Status register.
The 8275 CRT Controller 3-9
Bit No.
rm
0 IE IR LP 1C VE DU FO Status Register
DMA Underrun
Video Enable
Improper Command
Interrupt Request
Interrupt Enable
Bit 5 of the Status register is the Interrupt Request bit and w ill be set,
if you have enabled interrupts, when display of the last character row of a
frame is begun. This bit is set at the sam e tim e that the IRQ output signal goes
high and is reset after you read the contents of the Status register.
Bit 6 of the Status register is the Interrupt Enable bit and indicates
whether the 8275 w ill generate interrupts at the end of each frame. In ter
rupts are autom atically enabled, and this bit is set, w hen you issue the Start
Display com m and to the 8275. T here are also separate Enable Interrupt and
D isable Interrupt com m ands that can be used to m anipulate this bit. In addi
tion, the Interrupt Enable bit will be cleared and interrupts disabled when you
issue a Reset com m and to the 8275.
Bit 7 of the Status register is not used and w ill always be 0 when you
read the contents of the Status register.
3-10 The CRT Controller Handbook
“ i n . ____________________________ n ~
specified register
The Chip Select (CS) signal m ust be low, the AO register select input
m ust be stable, and the data th at is to be written into the selected register m ust
be valid before the write (WR) signal returns high. This tim ing is the sam e as
that which would be used with any I/O port or m em ory device.
The 8275 CRT Controller 3-11
System
Microprocessor
M em ory
A. /S
System Busses
(Data/Address/Control)
SIS
±2.
DRQ
CRT Monitor
DMA 8275
DACK and Character
Controller CRT Controller
Generator
"■A' Ti f
specified register
3-12 The CRT Controller Handbook
D M A Controller M ost com m unications between the m icroprocessor and the 8275 will
Interface take place at system startup when you establish such initial values as screen
form at, data transfer m odes and so on. The m icroprocessor m ust also access
the 8275 directly to m ove the cursor and to initiate and term inate display. The
bulk of system involvem ent with the 8275, how ever, will be in transferring
data that is to be displayed on the screen from system (screen) m em ory to the
CRT controller. This activity can proceed with alm ost no microprocessor
involvem ent and is conducted by interaction between the D M A controller
and the 8275. System activity during this DM A transfer of display data from
memory to the CRT controller can be illustrated as follows:
The 8275 CRT Controller 3-1 3
As the 8275 requires data for its character row buffers, it generates DMA
requests by setting its D RQ signal high. The DM A controller responds by gain
ing control of the system busses, reading a byte of data from system m em ory
(using M E M R ), and sim ultaneously writing that byte into the 8275’s character
row buffer (using IOW ). The tim ing for this DM A transfer of data can be
illustrated as follows:
MEMR
(From DMA Controller)
Burst Mode As the 8275 requires a byte of data for its character row buffer, it sets the
DRQ signal high and the DM A controller supplies th e requested data. You
specify the interval betw een DM A cycles as one of the R eset com m and
param eters. The alternate mode of DM A operation is to operate in a burst
mode where several bytes of data are transferred to the 8275 in response to a
single request. The tim ing for this mode of operation can be illustrated as
follows:
r - 1 - 5 5 character times
between bursts
DRQ
\ iH
r« "
DACK
WR
The 8275 CRT Controller 3-15
H ere the 8275 sets the DRQ signal high and keeps it high until the DM A
controller has transferred either 2, 4, or 8 bytes of data from screen memory.
Of course, the DM A controller you are using m ust be capable of responding to
this continuous DM A request. The 8257 and 8237 DM A controllers, which the
8275 was designed to operate with, operate in this burst mode.
The DM A mode of operation that you use w ill depend on the needs of
your system . The ability to program the 8275 so that it can operate in either
single cycle or burst m ode, com bined with flexible spacing between DMA
operations, gives you great flexibility in fitting the bus access requirem ents of
the 8275 into your system.
The DM A timing signals that we have illustrated are only those which
directly affect the 8275. There w ill, of course, be a number of other signals
exchanged w ithin the system to obtain control of the bus and to read data
from memory. Since these signals will be determ ined by the particular
m icroprocessor and DM A controller you are using, they are beyond the scope
of our discussion here.
There are two aspects of the DM A operation that we have not yet d is
cussed: how the DM A controller obtains the starting address for screen
memory accesses, and what the timing relationships are between DM A
operations and display of data on the CRT screen.
The DM A controller m ust receive the screen memory starting address
from the microprocessor as part of the system initialization operation. Then,
when the 8275 m akes its first DM A request, the DM A controller reads the first
byte of data that is to be displayed from screen m em ory, and transfers it to the
8275’s character row buffer. After each access of screen m em ory, the DM A
controller m ust increm ent its address counter so that when the next DM A
request is received, the next character in screen m em ory will be accessed. The
DM A controller will simply continue to increm ent the screen m em ory
addresses as each DM A request is received from the 8275 until all of the data
that is to be displayed on the screen has been read from m em ory and sent to
the 8275. At that point, the DM A controller m ust once again be given the
starting address for screen m em ory, since it would otherw ise simply continue
increm enting its address counter. The 8275 handles this situation by generat
ing an interrupt when display of the last row of characters on the screen is
begun. This interrupt can be used to inform the microprocessor that it must
once again reload the D M A controller address register with the starting
address of screen memory in preparation for display of the next frame of
data.
DM A operations can proceed continuously w hile data is only being
sent to the CRT monitor by the 8275 because of the dual character row
buffers. Let us look now at how these row buffers operate.
3-16 The CRT Controller Handbook
Internal The two internal recirculating buffers provided by the 8275 can each
Character hold up to 80 bytes of data. While one buffer is being loaded from refresh
Buffers m em ory under the control of the DM A controller, the contents of the other
buffer are being recirculated and presented to external character generator
logic as each scan line of a character row is sent to the CRT m onitor.
Obviously, the first character buffer must be filled before the first character
row of data on the screen is to be displayed. The first DM A request of a
frame is generated by the 8275 one character-row time before the end of ver
tical retrace. (Vertical retrace is program specified to be from one to four
character rows in duration.) T hus during this last character-row tim e of vertical
retrace, the first character row buffer is being filled. This can be illustrated as
follows:
DB0-DB7 ►C C 0 -C C 6
(From Screen Memory) (To character
generator logic)
The 8275 CRT Controller 3 -1 7
W hen all of the scan lines com prising the first character row have been
sent to the CRT m onitor, the contents of character buffer #2 will be connected
to the CC0-CC6 pins for the second character row of the screen, while buffer #1
is being refilled from screen m em ory with the new data that will com prise the
third character row. This can be illustrated as follows:
This switching back and forth between character row buffers con
tinues until all character rows of a frame have been completed. DM A will
then cease during vertical retrace until one character-row tim e before the
beginning of the next fram e. The cycle we have ju st described will then be
repeated. Note that the 8275 controls the switching back and forth between
the two characer row buffers; this operation is transparent as far as the
microprocessor system is concerned. The system need only guarantee that the
D M A rate is sufficient to finish loading each row buffer in the tim e required to
present the preceding character row to the CRT m onitor.
3-18 The CRT Controller Handbook
In M ode 0, the line count output during the first scan line (line num ber
0) will always be 0000. In M ode 1, how ever, the line count ou tp u t during the
first scan line will be the m axim um line count that you have specified, and the
count will then go to 0000 for scan line num ber 1. You specify the line counter
m ode of operation you desire under program control as part of the Reset com
m and. The m ode you select will depend on the type of character generator you
are using. For exam ple, if a character generator expects a line count address of
1 for the first row of dots, you might use M ode 0 so that an address of all zeros
would not select the character generator, but instead would produce the line of
dots used for inter-character row spacing. Similarly, if a character generator
expects a line count address of zero to access the first row of dots, then you
m ight use line counter M ode 1.
Graphic Let us now look at the lim ited capabilities provided by the 8275 via the
Capabilities Line Attribute (LA0-LA1) signals.
The line attribute signals are m anipulated by writing special character
Character attribute codes to the 8275. You do not have to issue special commands to the
Attribute 8275 in order to m anipulate the line attribute outputs; you sim ply store the
Codes special character codes in screen memory. You will recall th at data in screen
m em ory consists of 8-bit bytes. N orm al data codes have the m ost significant bit
set to 0. If the 8275 receives a byte of data from screen memory with the most
significant bit set to 1, it recognizes this as some type of control code. There
are three types of control codes: character attribute codes which cause the
line attribute outputs to be m anipulated; field attribute codes which affect
the visual characteristics of a group of characters that are to be displayed;
3 -20 The CRT Controller Handbook
and special codes which affect DM A and screen blanking. At this point, we
w ill lim it our discussion to the character attribute codes. The format for the
character attribute codes is as follows:
1 o -B it No.
-H ig h lig h t
1 = Set HGLT high
0 = Set HGLT low
“ Blink
1 = Blink VSP
0 = Do not blink
Bits 7 and 6 of the character attribute byte m ust both be set to 1. Bits 0
and 1 can be set to m anipulate the Highlight (HG LT) signal and to cause the
character to blink by m anipulating the Video Suppression (VSP) signal. We
shall discuss the highlight and blink functions later when we describe the in ter
face to the CRT m onitor. Let us now concentrate on the character attribute
cooes which are contained in bits 5 through 2 of the byte.
Table 3-2 describes the effects of the various character attribute codes
on the L A I, LAO, V SP and LTEN output signals and also indicates the
resultant sym bols which can be created. Creation of these sym bols requires
the use of very specific external logic. The logic you must provide is illu s
trated in Figure 3-7. T he shift register shown in the figure is a 9-bit parallel-to-
serial shift register, and thus each character space in this exam ple would be 9
dots in width. W hen LAO and LA I are both output high from the 8275, five l ’s
would be loaded into the least significant bits of the shift register and four 0 ’s
would be loaded into the four m ost significant bits of the shift register. W hen
the contents of the shift register are shifted out serially and sent to the CRT
m onitor, a horizontal line is produced on the left half of the character space.
Similarly, w hen LAO is low and LA I is high, this causes a horizontal line on the
right half of the character space to be produced. W hen LA I is low and LAO is
high, a 1 bit is loaded only into the center bit of the shift register, and 0 ’s are
loaded in the four least significant and four m ost significant bits of the shift
register. If this is repeated for all scan lines com prising the character, a vertical
line down the center of the character position is produced. Vertical line seg
m ents on the upper or lower half of a character space are produced by setting
L A I low and LAO high for every scan line on the character row, and then
activating the Video Suppression (VSP) signal during those scan lines above or
below the underline position. W hen VSP is high, it disables th e output from
the shift register via the N O R gate, so that no dots are sent to the CRT m oni
tor.
The 8275 CRT Controller 3-21
Table 3-2. 8275 CRT Controller Character Attribute Codes and Resultant Symbols
Above Underline 0 0 1 0
0000 Underline 1 0 0 0 Top Left Corner
Below Underline 0 1 0 0 r
Above Underline 0 0 1 0
0001 Underline 1 1 0 0 i Top Right Corner
Below Underline 0 1 0 0 n i
Above Underline 0 1 0 0 I
0010 Underline 1 0 0 0 I__ Bottom Left Corner
Below Underline 0 0 1 0
Above Underline 0 1 0 0
0011 Underline 1 1 0 0 _liIi Bottom Right Corner
Below Underline 0 0 1 0
Above Underline 0 0 1 0
0100 Underline 0 0 0 1 —i— Top Intersect
Below Underline 0 1 0 0 1
Above Underline 0 1 0 0 Ii
0101 Underline 1 1 0 0 H Right Intersect
Below Underline 0 1 0 0 1i
Above Underline 0 1 0 0 Ii
0110 Underline 1 0 0 0 \— Left Intersect
Below Underline 0 1 0 0
Above Underline 0 1 0 0 |
1
011 1 Underline o o o 1 Doiiommierseci
Below Underline 0 0 1 0
Above Underline 0 0 1 0
1000 Underline 0 0 0 1 ------------ Horizontal Line
Below Underline 0 0 1 0
Above Underline 0 1 0 0
1001 Underline 0 1 0 0 Vertical Line
Below Underline 0 1 0 0
Above Underline 0 1 0 0 1i
1010 Underline 0 0 0 1
H \— Crossed Lines
Below Underline 0 1 0 0 1r
Above Underline 0 0 0 0
101 1 Underline 0 0 0 0 Not Recommended*
Below Underline 0 0 0 0
Above Underline 0 0 1 0
1 100 Underline 0 0 1 0 Special Codes
Below Underline 0 0 1 0
Above Underline
1 101 Underline Undefined Illegal
Below Underline
Above Underline
1110 Underline Undefined Illegal
Below Underline
Above Underline
1111 Underline Undefined Illegal
Below Underline
Character Attribute Code 1011 is not recommended for normal operation. Since none of the attribute outputs are active, the
character generator will not be disabled, and an indeterminate character will be generated.
Character Attribute Codes 1 101, 1 1 1 0 , and 1111 are illegal.
3-22 The CRT Controller Handbook
Horizontal
© Left Half © Horizontal Line
Vertical
© Line
© Suppress
Vertical Line
Horizontal
© Right Half
Figure 3-7. External Logic Required to Implement Graphics Provided by the 8275 CRT
Controller
The 8275 CRT Controller 3 -2 3
This is a good point to note that the symbols shown in Figure 3-1 imply
that the horizontal and vertical line segm ents run through the center of a
character space. This is not necessarily true: the position of the vertical line
or line segm ents is determined by the bit position where you load the
appropriate code-produced signals into the shift register. In Figure 3-7 we
loaded the vertical line signal into the center bit of a 9-bit shift register and
caused it to appear in the center of a character location. The horizontal lines or
line segm ents will appear on only one scan line of the character row, and will be
on the scan line w here you have program m ed the underline to be displayed.
The underline position is program-established using the R eset command
and can be on any scan line w ithin a character row. Thus, for exam ple, if you
have specified that the underline is to be displayed on line number 9 of a
character row comprised of 12 scan lin es, the first two sym bols shown in
Table 3-1 would appear as follows:
W hile the logic required to im plem ent the line attribute graphics of the
8275 is not com plicated, it is still quite a bit of circuitry to simply produce
eleven lim ited graphic characters. If som e graphic capabilities are required, it
may prove easier simply to utilize a character generator which can produce the
required symbols.
The 8275 CRT Controller 3 -2 5
Highlight
1 = Set HGLT high
0 = Set HGLT low
Blink
1 = Blink VSP
0 = Do not blink
Reverse Video
1 = Set RVV high
0 = Set RVV low
Underline
1 = Set LTEN high
0 = Set LTEN low
Visible/Invisible The 8275 provides you with two options with regard to the field
Field Attribute attributes: the Field Attribute Control bytes read from screen memory can
Control Codes occupy a visible position on the screen, or they can be made invisible and
sim ply affect the subsequent character field. You specify the desired mode
as part of the Reset command. If you specify the visible field attribute m ode,
the Field A ttribute C ontrol bytes read from screen m em ory will occupy a posi
tion on the screen although they will appear as blanks, since th e 8275 will au to
matically cause the Video Suppression (VSP) signal to be activated during that
character position. The designated field attribute will then be activated after
this blank character position. This visible field attribute mode can be illu s
trated as follows:
If you select the invisible field attribute mode for the 8275, then the
internal First-In-First-O ut (FIFOs) registers of the 8275 are activated.
Each of the 8275’s internal character row buffers has an associated 16-
character FIFO. In this m ode of operation, when a Field A ttribute C ontrol byte
is loaded into a row buffer, the 8275 recognizes it as such and places the follow
ing data character in the FIFO. W hen the tim e com es to display that character
row, the 8275 once again recognizes the Field A ttribute C ontrol byte before it
is to be sent to the CRT m onitor, and substitutes the appropriate following
character byte from the FIFO on the Character Code outputs. Sim ultaneously,
the 8275 activates the specified field attribute control signal(s). An exam ple of
invisible field attributes can be illustrated as follows:
Several problems are introduced by the use of the Field Attribute Con
trol bytes. First of all, whether you use the visible or invisible mode, the
Field Attribute Control bytes w ill occupy locations in screen memory. Since
the num ber of attribute control bytes per display row may vary, the fixed rela
tionship between character positions on the screen and system m em ory
address pointers to the beginning of the screen, beginning of row, etc., may no
longer be constant. Therefore system software required to keep track of
screen locations w ill be complicated since it m ust also keep track of the n u m
ber of Field A ttribute Control bytes in each row while pointer locations are
being m anipulated. In addition, each Field Attribute Control byte increases
the size of screen memory since it occupies a location in that m em ory. DM A
transfers and character deletion or insertion routines may also be compli
cated by the presence of Field Attribute Control bytes w ithin data fields.
Finally, you must be aware that since the 8275 stores the character which
im m ediately follows a field attribute control byte in a FIFO, and subsequently
outputs that following character to the CRT, you cannot follow a Field
Attribute Control byte with any of the character attribute bytes or other
special codes that the 8275 would otherwise recognize.
The 8275 CRT Controller 3-2 9
00
o"
Load Cursor Registers 100 00000 2W
CO
Enable Interrupt 101 00000 - ao 16
Disable Interrupt 110 00000 - B 0 16
Preset Counters 111 00000 — D 0 16
1. The least significant 5 bits of Start Display Command determine DMA rate.
2. W = W rite to 8 2 7 5 , R = Read from 8 27 5 .
C = Cursor form at
0 0 = Blinking reverse video block
01 = Blinking underline
10 = Nonblinking reverse video block
11 = Nonblinking underline
The command byte of the Reset command sim ply consists of all zeros
and m ust be followed by writing four parameter bytes.
The seven least significant bits of the first parameter byte specify the
number of characters that are to be displayed on each row. The allowable
range is from 1 to 80 (0-5016). A lthough the seven bits could be used to specify
values as great as 127 (7 F 16), values greater than 80 are invalid since that is the
m axim um capacity of the 8275’s character row buffers.
The most significant bit of the first parameter byte specifies either
normal spacing or double spacing of character rows. In norm al spacing, the
only separation between adjacent character rows is the one or two scan lines at
the top or bottom of each character row which are not used in form ation of the
characters. If you specify double spacing, how ever, each character row is sepa
rated by a com plete row of blank characters. The 8275 accom plishes this by
repeating the row but activating VSP for the entire row. D uring the blanked
row DM A activity is not needed, thus it is not requested.
3 -3 4 The CRT Controller Handbook
The second parameter byte of the Reset command specifies the number
of character rows per frame and the tim e allotted to the vertical retrace
operation. The six least significant bits specify the num ber of character rows
per fram e in the range of 1- 64 (0-3F 16). Upon com pletion of display of the last
specified character row ofi the screen, the Vertical Retrace (VRTC) signal is set
high to indicate the beginning of the vertical retrace operation. T he duration of
the high level of the VRTC signal is specified using the two m ost significant
bits of the second param eter byte. The VRTC signal will rem ain true for an
integral num ber of character row tim es from 1 to 4. We should note that while
you can program the duration of a true level of the VRTC pulse, you have no
freedom in positioning the VRTC pulse; it goes true at the end of the last dis
play row, and is set low again at the end of the last retrace row ju st prior to the
beginning of the first displayable row of the next frame. This provides less flex
ibility than the DP8350 which we described in C hapter 2. Accordingly, som e
external circuitry may be needed to generate a VSYNC pulse of a proper d u ra
tion for the CRT m onitor.
The third parameter byte of the Reset command specifies the number
of scan lines that com prises the character row, and the placement of an
underline or cursor on a scan line w ithin a character row. You can specify
that a character row be com prised of from 1 to 16 scan lines. Thus this
specification com bined with the character rows per fram e specification of the
second param eter byte determ ines the total n um ber of displayable scan lines
per frame. The m ost significant four bits of the third param eter byte allow you
to position the scan line within a character row where the LTEN signal should
be activated to create an underline. You can specify that the underline be in
any of the scan lines from 1 to 16 on the character row. There are several rules
that apply to this underline placement specification:
• If the line n um ber you specify for the underline is greater than seven,
both the first and last scan lines of the character row will au to m at
ically be blanked (VSP high) by the 8275.
• If the line n um ber specified for the underline is less than or equal to
seven, the first and last scan lines of the character row will not be
blanked.
• If the line num ber specified for the underline is greater than the m ax
im um num ber of scan lines per character row (specified in the least
.significant four bits of this param eter byte), then the underline will
not appear at all.
Bits 5 and 4 of the fourth parameter byte specify the format of the cur
sor that w ill be displayed at the character location specified by the contents
of the Cursor register. T here are four options: the cursor can consist of either
an underline on the scan line specified for underline placem ent in the third
param eter byte, or it can be presented as a reverse video block symbol. The
reverse block cursor symbol is created by activating the RVV signal at the
specified cursor character location. In addition, either the single underline or
the reverse block cursor symbol can be m ade to blink; the blinking is
accom plished by m odulating the VSP output from the 8275 at a frequency
equal to the fram e refresh rate divided by 32.
Bit 6 of the fourth parameter byte specifies whether field attribute
characters are to occupy a position on the screen or whether they are to be
made transparent by utilizing the 8275’s FIFOs. The m ost significant bit of
the fourth param eter byte specifies the scan line counter mode. The scan line
counter m odes and field attribute control character m odes have been described
in the preceding sections of this chapter and we shall not discuss them further
at this point.
AO D7 D6 D5 D4 D3 D2 D1 DO
1 0 0 1
AO D7 D6 D5 D4 D3 D2 D1 DO
Command 1 0 1 1 0 0 0 0 0
characters or m ore from the actual physical position where the light pen was
detected. Y our software m ust therefore adjust its value accordingly. You
should also be aware that the values held in the light pen registers are not
changed by reading them with the Read Light Pen Register com m and. Only
another negative-to-positive transition of the LPEN input will cause the con
tents of these registers to be changed.
AO D7 D6 D5 D4 D3 D2 D1 DO
Command 1 1 0 0 0 0 0 0 0
DATA SHEETS
This section contains specific electrical and tim ing data for the 8275.
3-4 0 The CRT Controller Handbook
8275
ABSOLUTE M A XIM U M RATINGS*
D.C. CHARACTERISTICS
T a = 0°C to 70°C; V cc = 5V ±5%
CAPACITANCE
T A = 25°C; V CC= GND = OV
8275
Other Timing: $
N o te: T im in g measurements are made at the fo llo w in g reference voltages: O u tp u t " 1 ” = 2.0V , ” 0 " = 0 .8 V .
W AVEFORMS
JirLruirirLm^^
i __________
I
p - ----- ROM ACCESS-------- ►
VIDEO
(FROM SHIFT
REG ISTER ) 3 0 0 0 0 0 0 0 0 0 0 0 0 C
FIRST CHARACTER SECOND CHARACTER
A TTR IBU TES
& CONTROLS
A TTR IBU TES & CONTROLS FOR FIRST CHAR
(FROM
SYNCHRONIZER) DC
•CCLK IS A M ULTIPLE OF THE DOT CLOCK AND AN INPUT TO THE 8275
8275
The 8275 CRT Controller 3 -43
8275
" A
t
U
\ ......
INTERNAL
ROW LAST DISI•LAY ROW
t
COUNTER
--- ~ ■*--------*IR
r
In te rru p t T im in g
8275
A.C. CHARACTERISTICS
T a = 0°C to 70°C; V CC = 5.0V ±5%; GND = 0V
Write Cycle:
SYMBOL PARAM ETER M IN. M AX. UNITS TEST CONDITIONS
Clock Timing:
SYMBOL PARAM ETER MIN. M AX. UNITS TEST CONDITIONS
v ....................... .
IN VA LIC ^ VALID INVALID A° . c s ^ )
x:
*AVV Hh—
Wwy-*- ♦ ‘WAi -------► *AR p
— - i ,R Ar —
I t
"•---- --- *RR-----------*> 1
\ — I ----------------------- s / '
'R D ---- ► !
'DW “WD ---- * | |— *DF
v /y //////V ///////////y y /
INVALID VALID ^ INVALID '//Z 'H \G H IMPEDANCE ' DATA V A L I D i ^ ^
! 1 V L Uv-> IMPEDANCES
W ///////////////M < .'A j ■ V /s ,.
i 1
• ------------- »CY
r ..............\
CCLK I
}
tK F — ► <•— *KL — -
f -------- *KR
TEST POINTS -
4
The 6845 CRT Controller
The 6845 CRT controller lies somewhere between the DP8350 device,
described in Chapter 2, and the 8275 device, described in Chapter 3, in its
functional organization and capabilities. It is sim ilar to the DP8350 in the
way that it is positioned functionally w ithin a system ; it coordinates the
flow of data from screen memory to character generator logic and thence onto
the CRT monitor, but data does not actually pass through the 6845 as is the
case with the 8275 device. However, the 6845 is a fully programmable
device, like the 8275, instead of being mask-programmable lik e the DP8350.
Figure 4-1 illustrates those logic functions of the idealized CRT con
troller described in Chapter 1 that are provided by the 6845. T he 6845 pro
vides screen m em ory addressing logic but no m em ory contention logic. The
light pen logic, cursor logic, and scan line counters provided by the 6845 are
sim ilar to those of the 8275, although the scrolling and cursor logic is m ore
lim ited in the 6845. Similarly, the blanking logic provided by the 6845 is
m inim al, although adequate, and does not provide as many options as the
8275. No dot tim ing logic is provided on-chip, as will be true with m ost of the
CRT controllers we will describe, but the H SYNC/VSYNC generation logic is
present on the 6845. We have shown the program m able registers, status, and
control logic only partially shaded in Figure 4-1; while the 6845 provides a full
com plem ent of program m able registers, there are no status or control registers
or signals provided by the 6845 to simplify the m icroprocessor interface.
The sole m anufacturer of the 6845 device is:
____
v s s (GND)
____ 1 40 VSYNC
RESET 2 39 HSYNC
____
LPSTB 3 38 RAO
____ 4/I oQ 7/
MAO RA1
M A1 5 36 RA2
MA2 6 35 RA3
M A3 7 34 RA4
M A4 8 33 DO
MA5 QJ jQO
Z D1
MA6 10 6845 31 D2
M A7 11 30 D3
MA8 19
iz 9Q
zy D4
MA9 IJ Zo D5
J
M A10 14 27 D6
M A1 1 15 26 D7
M A12 16 25 CS
M A13 17 24 RS
DISPEN 18 23 E
CURSOR 19 22 R /W
V CC (+ 5 V) 20 21 CLK
> _ ~
o ® c M A 0 -M A 1 3 Screen M e m o ry Address Bus O utput
E o .? R A0-R A4 R aster (Scan Line) Address Signals O utput
a> <o co
5 1 o
£ 5 £
5 g 1
« «S
JO
k. (0 HSYNC H orizontal S ynch ro n izatio n O utput
.tr o> VSYNC V e rtica l S yn ch ro n izatio n O utput
o « DISPEN D isplay (Video) Enable O utput
^ 8 CURSOR Cursor enable O utput
H -2 LPSTB Lig h t Pen Strobe Input
DC *5
O ®
c
Screen Memory There are two sets of signals provided by the 6845 to im plem ent the
and Character interface to screen memory and character generator logic: M A 0-M A 13 are
Generator the screen Memory Address outputs and RA0-RA4 are the Raster Address
Signals output signals to character generator logic. The 14 screen M em ory A ddress
outputs (M A 0-M A 13) allow the 6845 to access up to 16K bytes of screen
m em ory. The Raster A ddress output lines (RA 0-R A 4) are the outputs from
the 6845’s scan line counter. While the signal nam es used on the 6845 for these
outputs differ from those which we have used elsew here in this book, these
five signals are simply the scan line counts required by character generator
logic to determ ine which scan line of a character row is being displayed.
CRT Monitor The 6845 provides a fairly standard set of CRT monitor interface sig
Signals nals. HSYNC and YSYNC are the standard Horizontal and Vertical Syn
chronization signals required by CRT monitors. D ISPE N is the D isplay
Enable signal and will be set high w henever the video signal to the CRT m oni
tor is to be active. DISPEN will be set low during horizontal and vertical
retrace, and thus m ight also be called the video blanking signal. CURSOR is
the standard cursor enable signal used to create a steady stream of dots on a
CRT screen to produce a cursor symbol.
LPSTB is the Light Pen Strobe input signal which, in conjunction with
external circuitry, can be used to im plem ent a light pen interface between the
CRT monitor and the 6845. W hen the 6845 detects a high level on the LPSTB
signal it saves the contents of the screen m em ory address counter in one of the
internal register sets so that the m icroprocessor can subsequently determ ine
the position at which the light pen was detected.
Typically, the 6845 w ill occupy two memory or I/O addresses; the RS
signal would be connected to the system ’s least significant address bit (AO).
W hen AO is low, the A ddress register would be accessed to load it with the
num ber of the desired param eter register. That specified register would then be
accessed by setting AO high. Thus a typical register access operation would
consist of two consecutive device write cycles, or a write cycle followed by a
read cycle, and these cycles would be directed to consecutive memory or I/O
locations. Since the contents of the param eter registers determ in e all of the
primary operating characteristics for the 6845, we shall defer a description of
the contents of each register until later in this chapter when we describe pro
gram m ing of the device.
The 6845 CRT Controller 4-7
R egister
Read (R) Rite
BITS Range — U nits
W rite (W)
No. N am e /F un ctio n
_o
Horizontal Total W 8 1 - 2 5 6 (0-FF16)C LK s
o
o
H orizontal
i (01 16) C haracters/Row W 8 1 - 2 5 6 (0-FF16)C LK s
Form at and
T im ing 2 (0 2 16) HSYNC Position W 8 1 - 2 5 6 (0-FF16)C LK s
1 2 (0 C 16) (MSB) W 6
Start Address
1 - 1 6 ,3 8 4 (0 0 0 0 -4 F F F 16)
P rim ary 1 3 (0 D 16) (LSB) (Top o f Page) W 8
O perating
R egisters 14(0 E 16) (MSB) R /W 6
Cursor
Un o o 4 \ Un nU nU nU ‘
1D ,QQyi/ /iccc g|\
4rrr-| |
P ositio n
15(0 F 16) (LSB) R /W 8
i— \ ______ —i v
Once again, with the exception of the E signal, this tim ing is completely
straightforw ard.
The read and write cycles we have ju st illustrated are the only com
m unication that occurs directly between the m icroprocessor system and the
6845. Unlike som e of the other CRT controllers we have described, the 6845
provides no interrupt signals, DM A or m em ory contention signals, or status
signals. In addition, the 6845 does not include a data register (data for display
goes directly from screen m em ory to character generator logic), a status
register, or a com m and register. The bulk of m icroprocessor interaction with
the 6845 will be during system startup when the param eter register m ust be
loaded with values to establish tim ing characteristics.
R A 0-R A 4
6845
JS Z
Screen
M icro p ro ce sso r M e m o ry
Data Bus
H
4 -1 0 The CRT Controller Handbook
E (ct>2)
The RA0-RA4 outputs can represent scan line counts ranging from 0
to 31, and thus character rows can be com prised of up to 32 scan lines. Register
R9 specifies the number of scan lines per character row, and thus the m ax
im um count that R A 0-R A 4 will reach before being reset to 0. The scan line
counter w ill be incremented at the Horizontal Synchronization (H SYNC)
rate. Timing for the RA0-RA4 outputs can be illustrated as follows:
y— y ii y
R A 0-R A4 oooooj 00001 1 IMax~1yI Ma
HSYNC
_A_A_A^iiL_A_A__A__A_A_
The tim ing illustrated here is for a standard non-interlaced display.
The 6845, how ever, can also operate in two interlaced m odes of operation, and
the scan line counter function is som ew hat dependent on the m ode you
specify. T herefore, let us now discuss the various interlaced and non-interlaced
m odes provided by the 6845.
0 ooooo—
1 00001 — • #
2 00010 —
3 00011 —
4 00100—
5 00101 —
6 00110 —
7 00111 — • # +
8 01000 —
In this m ode, every horizontal scan line is traced during each vertical
scan, and the refresh rate for each dot on the screen is thus the VSYNC fre
quency (for exam ple, 60 H z). This non-interlaced m ode is the m ost com m only
used in alphanum eric term inals and is the only m ode provided by m ost of the
CRT controllers we describe.
The 6845 CRT Controller 4 -1 3
Interlaced- In the interlaced-sync mode, the first sweep (the even field) starts at
Sync Mode the upper left-hand corner of the screen and the second sweep (odd field)
starts at the top center of the screen. (For an illustration of interlaced fields
refer to C hapter 1.) In the interlaced-sync mode, the sam e information is
presented on the screen in both the odd and even fields. This can be illu s
trated as follows:
Even Field
R A 4-R A 0
00000 —
00001 -
00010-
00011 -
00100-
00101 -
00110-
00111- • • •
Odd Field
# # •
Combined Fields
—• -
-# —• -
-m—# — • — • -
# — • #■
- • —• — t — • -
Even Odd
Field Field
4 -1 4 The CRT Controller Handbook
Interlaced-Sync T he sam e inform ation is repeated in the even and odd fields and the two
Mode Timing fields are displaced vertically from one another by one-half scan line. T hus the
com bined fields im prove resolution by making the letters appear to have nearly
solid vertical lines due to the proximity of the adjacent dots. A problem with
this approach is that each field is refreshed at one-half of the VSYNC rate
(for exam ple, 30 H z). This may result in an unacceptable flicker of the dots
on the screen. As we discussed in C hapter 1, flicker due to low refresh rate can
be overcom e by using long-persistence phosphor CRT screens.
The tim ing for the interlaced-sync mode can be illustrated as follows:
- 1 C o m p lete Fram e -
.TAAAAAAAAAAA________hAAA/VWVAAAA_________
f W W \A /W W V \. [Y.
/\AAAA/W\AAAAAAAAA/lAAAAyVWWVW\A/WV\A.
T M 11 1 ~ II 11
LA A J lA J L A A
I L
'/i Scan Line T im e - i Scan Line T im e -
_ V S Y N C starts here V S Y N C s t a r ts _
in odd field here in ev en field
The 6845 CRT Controller 4 -1 5
All scan line counts for every character row will be generated during both
the odd and even fields so that the sam e dot patterns from the character
generator will be output twice — once during each field. The VSYNC pulse for
the odd field occurs one-half scan line tim e earlier during the odd field than it
does during the even field; this is what produces the one-half scan line vertical
separation between scan lines of the odd and even fields.
Interlaced-Sync In the interlaced-sync-with-video mode, dot information is also writ
with-Video Mode ten into both the odd and even fields of a frame. In this case, however, the
same information is not presented in both fields; instead, half of each
character is written in each field so that a character row comprised of eight
scan lines w ill have four scan lines presented in the even field and four in
the odd field. This can be illustrated as follows:
Even Field
0 ------------------------------------------------
2 + ------------------* ----------------- • ------------------»
4» t ♦ ~+ • --------------------+ # +■ -+----
-
C om bined Fields
(One Frame)
4 -1 6 The CRT Controller Handbook
Interlaced-Sync- This m ode of operation results in the highest screen density, since each
with- Video character row is only half as tall as in the other two m odes we illustrated. This
Mode Timing m ode suffers from the sam e weakness as the interlaced-sync m ode, how ever,
in that each dot will only be refreshed at one-half the VSYNC frequency. The
low refresh rate may be even m ore objectionable in this m ode than in the in ter
laced-sync m ode, since only half the character is being created in each field.
The timing for this interlaced-sync-and-video mode can be illustrated
as follows:
- 1 C o m p lete Frame -
Since only odd-num bered scan lines are produced during the odd field in
this m ode, RAO is always high during the odd field. D uring the even field, RAO
will be held low so that the dot patterns sent to character generator logic will
only be those for even-num bered scan lines.
The 6845 CRT Controller 4 -1 7
The LPSTB (Light Pen Strobe) input to the 6845 requires a negative-
to-positive transition from external circuitry to cause the controller to store
its current screen memory address value in the internal Light Pen registers
(R16, R 17). Storage of the screen m em ory address is synchronized with the
Character Clock (CLK) input to the 6845 as shown in the following illustra
tion:
address other than the X -I- 2 address illustrated. Therefore you must use
external circuitry to synchronize the presentation of LPSTB with the CLK
signal to ensure that it is presented to the 6845 at the proper tim e. For exact
tim ing specifications, refer to the 6845 data sheets at the end of this chapter.
Figure 4-6 shows the format for the Character/Row register (R l).
This register specifies the number of characters to be displayed on each
horizontal line. Once again this register is loaded with the total num ber of
characters m inus 1, and the units for this register are C haracter Clocks
(CLKs).
Figure 4-7 shows the format for the HSYNC Position register (R2).
This register establishes the point where the HSYNC signal m akes its nega-
tive-to-positive transition and is specified in term s of C haracter Clocks
(CLKs). The reference point for the beginning of the HSYNC pulse is the left
m ost character position displayed on the scan line.
Figure 4-8 shows the format for the H SY N C Width register (R3).
Only the four least significant bits of this register are used, and they estab
lish the duration of the HSYNC pulse in the range of 1 to 16 C haracter Clocks
(CLKs). This allows you to adjust the HSYNC pulse duration to m eet the
requirem ents of specific CRT m onitors.
The following illustration shows the relationships between the four
horizontal timing and format registers (R0-R3) in terms of tCLK:
The 6845 CRT Controller 4-21
Vertical The next six registers (R4-R9) establish the vertical format and tim
Format and ing. Just as was the case with the horizontal param eter registers, these registers
Timing will usually be loaded with the desired values at system startup and will not
Registers have to be changed thereafter. The point of reference for all of the vertical tim
ing and param eter registers is the topm ost character position displayed on the
screen.
Figure 4-9 shows the format for the Vertical Total register (R4) and
the VSYNC Adjust register (R5). These registers determine the total num
ber of scan line tim es in a frame, including the tim e required for vertical
retrace, and thus specify the overall frame rate or VSYNC frequency. The
Vertical Total register (R4) is a 7-bit register, and the units used are character
rows. Since a character row can consist of up to 32 scan lines, this specification
may be too gross to allow you to establish a refresh frequency close to the line
frequency (for exam ple, 60 Hz). T hus you can use the VSYNC Adjust register
(R5) to fine tune the VSYNC frequency. The VSYNC Adjust register is a 5-bit
register, and the units used are scan line times.
The 6845 CRT Controller 4 -2 3
Figure 4-9. 6845 CRT Controller Vertical Total (R4) and VYSNC Adjust (R5) Registers
4 -2 4 The CRT Controller Handbook
Figure 4-10. 6845 CRT Controller Character Rows Displayed Register (R6)
Figure 4-10 shows the format for the Character Rows Displayed
register (R6). This 7-bit register allows you to specify that up to 128
character rows be displayed. N ote that this specification does not determ ine
the position of the VSYNC pulse, but instead determ ines that point when the
Display Enable (DISPEN) signal will be set low for the vertical retrace opera
tion.
Figure 4-11 shows the format for the VSYNC Position register (R7).
This 7-bit register determines the point where the VSYNC signal m akes its
negative-to-positive transition to initiate vertical retrace. The VSYNC posi
tion is specified by m eans of the character row tim es m easured from the begin
ning of the first character row on the screen. You can see in Figure 4-11 that
the VSYNC pulse always has a duration of 16 scan line tim es. Since the scan
line frequency will vary from application to application, and since you cannot
adjust the VSYNC pulse duration, you may need external circuitry in order to
achieve a VSYNC pulse that is com patible with the CRT m onitor you are
using.
The 6845 CRT Controller 4 -2 5
DISPEN
HSYNC
VSYN C
7 6 5 4 3 2 1 0
0 0 -7 F 16 (1 - 1 28) C haracter R ow s •
The next two registers in the 6845 determine the type of cursor that is
to be displayed. Figure 4-13 shows the format for the Cursor Start register
(RIO) and the Cursor Stop register ( R l l) . The five least significant bits of
each register determ ine the scan lines within a character row w here the C U R
SOR signal is to be activated. The scan line specified in Register RIO is the first
scan line where the CU RSO R signal is to be set high, and CU RSO R will be set
high for all subsequent scan lines in that character position until the scan line
specified in Register R l l has been com pleted. T hus if you want the cursor
symbol to occupy a single scan line, you must load the sam e value into both
R egisters RIO and R l l . A block cursor symbol w ill be produced if RIO and
R l l contain different values. If you have specified that the 6845 is to operate
in the interlaced-sync-and-video m ode, then the C ursor Start and Stop
registers m ust both be loaded with even or odd values. To see why this is so,
refer to our earlier discussion of the interlaced m odes of operation.
Bits 5 and 6 of the Cursor Start register determine whether a blinking
cursor is to be displayed. You can specify that the Cursor signal be blinked
at 1/16 or 1/32 of the field rate.
The 6845 CRT Controller 4 -2 7
i
o- 0-
1 - 1-
2 - 2-
3 - 3-
4 - 4-
5 - 5-
6 - 6-
7 - 7-
8 - 8-
9 - 9-
10- 10 - 10-
IT - 11 - 11 -
Primary The remaining six registers (R12-R17) provided by the 6845 can be
Operating considered the primary operating registers, since they may be frequently
Registers accessed and manipulated during operation instead of sim ply being loaded
with values at system startup time. Figure 4-14 shows the format for these
six registers. The six registers are arranged as three 14-bit address registers.
Registers R12 and R13 comprise a 14-bit Top of Page register which specifies
the screen m em ory address containing the first character to be displayed on the
screen. Upon com pletion of the vertical retrace operation, the first screen
m em ory address that is generated will be that which is contained in the Top of
Page register. By changing the contents of the Top of Page register, you can
perform scrolling. Since the 6845 addresses m em ory linearly rather than on a
row /colum n basis, scrolling can be on a character-by-character basis or row-by-
•row.
Registers R14 and R15 comprise a 14-bit Cursor Position register.
W hen the 6845 generates a screen m em ory address on M A0-M A13 that
m atches the contents of this register, and when the scan line counter outputs
(RA 0-R A 4) fall within the boundaries established by Registers RIO and R l l ,
the CURSOR signal will be activated. As we discussed when we described the
interface to the CRT m onitor, you may have to delay the CURSOR signal
using external logic in order to achieve display at the desired character position.
Movement of the cursor on the screen is accomplished by loading new values
into the Cursor Position register. Registers R14 and R15 are the only ones
provided by the 6845 that are read/w rite registers, so you can use this register
pair to keep track of w here the cursor is, rather than having to copy the cursor
position to it from another m em ory location.
Registers R16 and R17 comprise the 14-bit Light Pen register and w ill
be loaded with the screen memory address that corresponds to the screen
position where the LPSTB signal was detected. You should refer to our ear
lier discussion of the LPSTB signal since there are several critical tim ing
param eters involved with this signal and the resultant values that are stored in
the Light Pen register.
Figure 4-15 illustrates the relationship between the programmable
registers of the 6845 and a modified timing chain developed in Chapter 1.
The 6845 CRT Controller 4 -2 9
f DOT
( [R7] d e te rm in e s pulse)
Figure 4-15. The Relationship between 6845 Programmable Registers and the CRT
Timing Chain
The 6845 CRT Controller 4-31
DATA SHEETS
This section contains specific electrical and tim ing data for the 6845.
4 -3 2 The CRT Controller Handbook
6845
S YS TEM BLOCK D IA G R A M D E S C R IP T IO N
As shown in Figure 1, the prim ary fun ctio n of the number o f approaches are possible fo r solving contentions
CRTC is to generate refresh addresses (M A0-M A13), row for the Refresh Memory.
selects (R A0-R A4), and video m onitor tim ing (HSYNC, 1. Processor always gets p rio rity .
VSYNC) and Display Enable. Other functions include an 2. Processor gets p rio rity access anytime, but can be
internal cursor register which generates a Cursor o utp ut synchronized by an interru p t to perform accesses
when its contents compare to the current Refresh A d only during horizontal and vertical retrace times.
dress. A light-pen strobe input signal allows capture of 3. Synchronize processor by memory w ait cycles.
Refresh Address in an internal light pen register. 4. Synchronize processor to character rate (See Figure
A ll tim ing in the CRTC is derived from the Clk input. 2). The 6800 MPU fa m ily lends itself to this config
In alphanumeric terminals, this signal is the character rate. uration because it has constant cycle lengths. This
Character rate is divided down from video rate by external method provides zero burden on the processor be
High Speed Tim ing when the video frequency is greater cause there is never a contention fo r memory. A ll
than 3 MHz. S hift Register, Latch, and M UX Control accesses are " t r a n s p a r e n t "
signals are also provided by external High Speed Timing. The secondary data bus concept in no way precludes
The processor communicates w ith the CRTC through a using the Refresh RAM fo r other purposes. It looks like
buffered 8-bit Data Bus by reading/writing into the any other RAM to the Processor. For example, using
18-register file of the CRTC. Approach 4, a 64K byte RAM Refresh Memory could
The Refresh Memory address is m ultiplexed between perform refresh and program storage functions trans
the Processor and CRTC. Data appears on a Secondary parently.
Bus which is buffered from the processor Primary Bus. A
FIG U R E 2 - TR A N S P A R E N T REFRESH M E M O R Y
M A X IM U M RATINGS
C O N F IG U R A T IO N T IM IN G USING 6800 MPU F A M IL Y
Rating Sym bol Value U n it
Supply Voltage VCC* -0.3 to +7.0 Vdc
Inp u t Voltage V in * -0.3 to +7.0 Vdc
1 C R T C A ccesses
Operating Temperature Range ta 0 to +70 °C 1 R e fre s h M e m o r y
M P U A cces se s |
R e fre s h M e m o r y 1
I
RECOMMENDED OPERATING C O NDITIO NS
Characteristics Sym bol M in Typ Max U n it
_ _ Tc _
S upply Voltage VCC 4.75 5.0 5.25 Vdc ^ 'c y c le
c m
In p u t Low Voltage V |L -0.3 - 0.8 Vdc
w h e re: m ,n a re in te g e rs ;
In p u t High Voltage V |H 2.0 - V cc Vdc T c is c h a r a c t e r p e r io d
Data sheets on pages 4 -3 2 through 4 -41 are reprinted by permission of Motorola Semiconductor Products Inc.
The 6845 CRT Controller 4 -3 3
6845
ELECTRICAL CHARACTERISTICS (V q q = 5.0 V ±5% , V s s = 0, = 0 to 70°C unless otherwise noted)
*LPD2 0 ns
Note: The lig h t pen strobe must fall to low level before VSYNC pulse rises.
R EAD/W R ITE
Enable Cycle Tim e *cycE 1.0 MS
Enable Pulse W idth, High PWEH 0.45 25 MS
Enable Pulse W idth, L o w PWE L 0.43 MS
Setup Tim e, CS and RS valid to enable positive tra nsition *AS 160 ns
Data Delay Tim e tD D R 320 ns
Data H old Tim e (Read) tH 10 . ns
(w rite) 10 -
Address H old Tim e *AH 10 ns
Rise and Fall Tim e fo r Enable In p u t tEr. tE f 25 ns
Data Setup Tim e *DSW 195 ns
Data Access Tim e rACC 480 ns
The 6845 CRT Controller 4-3 5
6845
FIG URE 4 - R E L A T IO N BETW EEN LPSTB A N D REFRESH M E M O R Y ADDRESS
4 -3 4 The CRT Controller Handbook
6845
F IG U R E 3 - CRTC T IM IN G C H A R T
4-3 6 The CRT Controller Handbook
6845
FIG U R E 5 - BUS T IM IN G C H A R T
6845
F IG U R E 6 - BUS T IM IN G TEST L O A D
R L = 2 .4 k
M M D 6150
o r E q u iv .
C = 1 3 0 pF fo r D 0 -D 7
= 3 0 pF fo r M A O -M A 13, R A 0 -R A 4 ,
D IS P E N , H Y S N C ,
V S Y N C , and C U R S O R
R = 1 1 k f i fo r D 0 -D 7
= 2 4 k f 2 f o r A ll O t h e r O u t p u t s
R o w A d d re s s e s
fo r C h a ra c te r
G e n e r a to r s
( P ro c e s s o r
I n te rfa c e
4 -3 8 The CRT Controller Handbook
6845
The 6845 CRT Controller 4 -3 9
6845
4 -4 0 The CRT Controller Handbook
6845
The 6845 CRT Controller 4-41
6845
5
The 6545 CRT Controller
V s s (GND)- 1 40
RESET- 2 39
L P S TB - 3 38
CCO/MAO^ 4 37
C C 1 /M A 1 - 5 36
C C 2/M A 2-* 6 35
C C 3 /M A 3 - 7 34
C C 4 /M A 4 - 8 33
C C 5 /M A 5 - 9 32
C C 6 /M A 6 - 10 6545 31
C C 7/M A 7 + 11 30
CRO/MA8 -< 12 29
C R 1 /M A 9 - 13 28
C R 2 /M A 1 0 -* 14 27
C R 3 /M A 1 1 - 15 26
C R 4 /M A 1 2 16 25
C R 5 /M A 1 3 - 17 24
D ISPEN - 18 23
CURSOR 19 22
vcc <+5V)- 20 21
The most significant Raster Address output (RA4) has also been
assigned a secondary signal name: Strobe (STB). This signal is associated
with the memory contention logic provided by the 6545. If you program the
6545 to operate in a transparent m em ory adressing m ode, the STB signal can
be used to inform external logic of those intervals when a memory update
address (as opposed to a m em ory display address) is being output on the
M A 0-M A 13 lines. We will discuss the STB signal in m ore detail when we d e
scribe the screen m em ory interface provided by the 6545 device. You should
note that if the transparent m em ory addressing option is utilized, external logic
m ust be supplied if you need to use this signal as RA4. We will describe the
required logic later in this chapter.
cs RS R /W Function
Status This logic is the sam e as with the 6845 with the exception of the Status
Register register; the 6845 provided no status register. The 6545 Status register can
be accessed by the microprocessor at any time and provides three bits of
information. The bit assignm ents for the Status register are shown in Figure
5-4. The five least significant bits are not used and will also be zero when you
read the contents of the Status register.
The 6545 CRT Controller 5-5
R egister Parameter
S e le ct Signals Registers
Register
Read (R)
Bits Range — Units
W rite (W)
No. Name/Function
1 2 (0 C 16) (MSB) w 6
Start Address 1 - 1 6 ,3 8 4 (0 0 0 0 -4 F F F 16)
1 3 (0 D 16) (LSB) (Top o f Page) w 8
R 6
05
Register
id (always 0)
Blanking
0 = Scan currently in display
area o f screen
1 = Scan currently in vertical
blanking interval
■Update Ready
0 = R31 read or w ritten by
m icroprocessor
1 = Update Strobe (RA4/STB)
generated
Bit 5 of the Status register is the Vertical Blanking status bit and w ill
be set to 1 during vertical retrace operations w hile vertical blanking takes
place. The timing for this bit is illustrated in Figure 5-5. This bit can be
checked by the m icroprocessor to determ ine when it can access screen m em ory
w ithout disturbing the contents of the screen, since the 6545 does not require
access to screen m em ory while the vertical blanking bit is set. To reduce the
possibility of tim ing conflicts near th e end of the vertical blanking interval, bit 5
will be reset five CCLK periods before the end of the vertical blanking interval,
so that m icroprocessor access to screen m em ory can be term inated before the
6545 begins to access screen m em ory for the first scan line on the screen.
Bit 6 of the Status register is the LPEN Register full bit. W henever a
negative-to-positive transition on the LPEN input to the 6545 is detected,
this bit w ill be set to 1 and w ill remain set until you read the contents of the
Light Pen Position register (R16 or R 17). The presence of this bit corrects a
logic deficiency of the 6845, since th ere was no way, with that device, of d eter
m ining when a new value had been stored in the Light Pen Position register.
Bit 7 of the Status register is the Update Ready bit. If you have
specified operation in the transparent screen memory addressing mode, this
bit w ill be set whenever an update strobe is sent out on the R A 4/ST B pin.
The bit will be reset w hen you access the U pdate Increm ent (R31) register. We
shall defer further discussion of bit 7 and its use until we discuss the screen
m em ory interface in detail.
If you refer once again to Figure 5-3 and Table 5-1, you w ill see that
five of the Parameter registers are shown shaded. Two of these registers (R3
and R8) have enhanced functions beyond their equivalent registers in a
6545, while the last 3 registers (R18, R19, and R31) are new registers
beyond those provided by the 6845.
5-8 The CRT Controller Handbook
_ Vertical _ Vertical
-V e rtical Display Area- --------- Vertical Display A re a ---------- ►-
Blanking Blanking
DISPEN
MAAAAAA ^lAAAAAAAj ,AAA
VBLANK
(Status \ \
Bit 5)
Figure 5-6 shows the bit assignm ents and functions of the H S Y N C /
VSYNC Width register (R 3). The 6845 device used only the four least signifi
cant bits of this register to define the HSYNC duration. This function is the
sam e on the 6545, but the 6545 device also uses the four most significant bits
to define a pulse duration for the VSYNC pulse. You can specify that VSYNC
be from 1 to 16 scan lines in duration, which may elim inate the need for ex ter
nal logic to interface the 6545 to a CRT m onitor.
Figure 5-7 shows the bit assignm ents for the Mode Control register
(R8). In the 6845 device, only the 2 least significant bits of this register were
used, and they specified the interface m ode that the device was to operate in.
These two bits serve the sam e function in the 6545 controller and you should
refer to C hapter 4 for a description of the interlace m odes of operation availa
ble.
Bit 2 of the Mode Control register specifies the screen memory
addressing mode that is to be used. If this bit is set to 0, the M A 0-M A 13 out
puts w ill generate straight binary addresses for screen memory. If bit 2 is set
to a 1, row/colum n addressing w ill be used and the screen memory address
outputs w ill be generated on a Character Column (CC0-CC7) and Character
Row (CR0-CR5) basis. The straight binary addressing allows m ore efficient
use of m em ory while the row /colum n addressing is better suited for m anipula
tion of screen data. For a discussion of the advantages and disadvantages of
each m ethod, refer to C hapter 1.
Bit 3 of the Mode Control register defines the screen memory access
mode that is to be used; if this bit is 0, it specifies shared memory accessing,
and if set to 1, transparent memory accessing is specified. In the shared
m em ory access m ode, the m icroprocessor and the 6545 utilize the sam e
address bus to access screen m em ory, and external logic m ust be provided to
resolve m em ory contention. This is the sam e approach used with the 6845
device, which provided no internal m em ory contention logic. The transparent
m em ory accessing m ode utilizes the logic provided by the 6545 to resolve
m em ory contention; it results in transparent, unim peded access to screen
m em ory by both the m icroprocessor and the 6545 with m inim al external logic
required. We will discuss this technique in detail when we describe the in ter
face to screen m em ory later in this chapter.
The 6545 CRT Controller 5-9
1 st scan line o f
11st character row
DISPEN
Ji a a Aa
HSYNC
VSYNC
-u -
DISPEN
HSYNC
7 6 5 4 3 2 1 0
“ 0 -F 16(1 -1 6) CLK
Interlace Mode
0 0 j- Non-interlace
01 = Interlaced Sync
11 = Interlaced Sync and Video
Screen M em ory Addressing Mode
0 = Straight binary
1 = Row/Colum n
DISPEN Skew
0 = No delay
1 = Delay DISPEN 1 CCLK
CURSOR Skew
0 = No delay
1 = Delay CURSOR 1 CCLK
1 CCLK delay can be introduced by bits 4 and 5 o f Mode Control Register (R8)
Registers R18 and R19 comprise the 14-bit Update register. This
register can be loaded by the m icroprocessor with a screen m em ory address
which can then be subsequently output by the 6545 on the M A 0-M A13 lines.
The register is used in the transparent m em ory addressing m ode and is the
major elem ent in the m em ory contention circuitry provided by the 6545
device. We shall describe in detail how this register is used when we discuss the
screen m em ory interface provided by the 6545. It is nam ed the U pdate register
since its primary function w ill be to specify a screen memory location — and
thus a physical screen location — that is to be updated by writing new data
at that location.
R A0-RA4
6545
MAO-MA1 3
Address r -
Bus 1 M emory
Contention
Logic
Character
Screen
Microprocessor Generator --------- ► To VIDEO
M em ory
Logic
Data Bus
S__Jf
Since both the microprocessor and the 6545 m ust be able to address
screen memory, you m ust supply some sort of external memory contention
logic to resolve conflicts between the two. This is the sam e configuration d e
scribed for the 6845 and m any of the other CRT controllers. You should refer
to our description of the 6845 screen m em ory interface for a discussion of how
m em ory contention can be resolved. T hat discussion also applies to the 6545
although there is one additional aid provided by the 6545; you can check the
status of bit 5 of the 6545’s Status register to determine when vertical
retrace is being performed. You can then grant unlim ited screen m em ory
access to the m icroprocessor during this vertical retrace interval. The 6845
device provided no such status bit and you therefore had to use additional
external logic to determ ine when vertical retrace occurs.
In all other respects, the 6545 operates in the sam e way as the 6845 in
this shared m em ory configuration. Let us now tu rn our attention to the
transparent m em ory addressing m ode available with the 6545.
The 6545 CRT Controller 5-13
System
Data Bus
Interleaved The timing for the interleaved type of transparent memory addressing
Transparent can be illustrated as follows:
Addressing
M icroprocessor m M icroprocessor t
Cy<cle Cycle
* 4* 1" ----
<t>2 Clock 1
/ 1
MAO-MA1 3 ¥
A
Display
Address A
Update
Address
V
1
Display
Address
V
A
Update
Address I
During the $ 1 portion of the clock cycle, the 6545 w ill output the con
tents of its internal scan address counter to access data that is to be displayed
on the screen. During the <£>2 portion, the M A 0-M A 13 pins from the 6545
w ill contain the address from the Update register. Thus th e m icroprocessor
can indirectly access screen m em ory during this 4>2 portion of every cycle. This
technique is the same as we described in C hapter 4 for the 6845, but in this case
the 6545 perform s the m ultiplexing of the addresses and no external logic is
required. However, this scheme is not quite so straightforward as the timing
diagram above im plies. To see what is involved, let us exam ine a typical
sequence that m ust occur for the microprocessor to write a byte of data into
screen memory.
First, the microprocesser m ust load the Update register-pair in the
6545 with the screen memory address where data is to be read from or writ
ten into. This process requires that you direct four successive write opera
tions to the 6545 as listed in the following table:
1 L L 1 8 10 (R1 8 address)
3 L L 19 10 (R1 9 address)
After this 4-write cycle sequence has been com pleted, the 6545 will o u t
put the address that has ju st been loaded into the Update register during the <1>1
portion of each clock cycle. Now, to actually write a byte of data into the
desired screen memory location, the microprocessor must perform one more
write operation. During this write cycle, the microprocessor can treat screen
memory as an I/O location. This m eans that the m icroprocessor m ust gener
ate an address which will produce a chip select signal for screen m em ory, sup
ply the write signal to load the data into m em ory, and present the data on the
data lines to mem ory. The 6545 will, how ever, generate the address signals
required to specify the location within screen m em ory where the data is to be
loaded.
The 6545 CRT Controller 5-15
Auto-Increment This is a rather lengthy and involved sequence simply to load one byte of
of Update data into screen m em ory. The operation becomes much sim pler, however, if
Register additional bytes of data are to be written into screen memory in consecutive
locations. In this case you can utilize the 6545’s capability of autom atically
increm enting the contents of the Update register-pair. In order to increm ent
the contents of the U pdate register-pair, you m ust access register R31 in the
6545. Each access of this “ dum m y ” register causes the contents of the Update
register-pair to be increm ented. Of course, you m ust first load the 6545’s
A ddress register with 31 m in order to select this A utom atic Increm ent register.
Our 4-step sequence which we illustrated earlier would now consist of 5
steps as shown in the following table:
1 L L 12 16 (R18 address)
3 L L 13 16 (R1 9 address)
After the five write cycles shown in the preceding illustration have
been performed, the microprocessor can begin writing data to screen
memory. Once again screen memory can be treated by the microprocessor as
an I/O port. If the chip select signal derived from the microprocessor
address bus to select memory is also used to generate the CS input to the
6545, and if RS is high, then a dummy access of R32 w ill be performed caus
ing the contents of the Update register-pair to be incremented. From that
point on, each write operation perform ed to transfer a byte of data from the
m icroprocessor to screen m em ory would also select R31 in the 6545 device to
increm ent the contents of the U pdate register. T hus, as long as you are loading
data into consecutive screen m em ory locations, only one write cycle is required
to perform each data transfer and the 6545 will output the appropriate update
address during the 4>2 tim e. So, a total of 6 write operations are required to
transfer the first byte of data from the microprocessor to screen memory, but
thereafter only a single write cycle is required to transfer each byte of data,
as long as consecutive memory addresses are being accessed. This sequence
is illustrated in the following table.
1 L L 1 2 16 (R1 8 address)
3 L L 1 3 16 (R19 address)
The timing for this sequence is illustrated in Figure 5-10. The circled
numbers (2) through (6) , shown w ithin the microprocessor address bus
in this figure, correspond to the steps in the preceding table. You will also
note in this figure that we have shown two different chip select signals (CSO,
C S1) being output on the m icroprocessor address b us. W hen the
microprocessor is writing the update data to screen memory, it must gener
ate chip select for both screen memory and the 6545 if the automatic incre
menting of the Update register is to occur. Figure 5-11 illustrates the general
chip select logic demanded for this transparent addressing with auto-incre-
ment operation. The CSO signal would select the 6545 to access its Address
register or one of the P aram eter registers. The CS1 signal generates chip select
for both the 6545 and screen m em ory. This would be used to cause the con
tents of the U pdate register in the 6545 to be increm ented as a byte of data is
transferred to screen m em ory.
Retrace The second method of transparent screen memory addressing availa-
Transparent ble with the 6545 is to allow the microprocessor access during horizontal and
Addressing vertical retrace intervals. The configuration implied in this mode of
transparent memory addressing is illustrated in Figure 5-12.
There are many sim ilarities between the interleaved transparent mode
which we just described and this retrace mode. In both cases, the 6545 pro
vides all addresses to screen m em ory, but here the contents of the U pdate
register will be output to screen m em ory only during horizontal and vertical
retrace intervals instead of being interleaved during 4>l/4>2 clock periods. The
contents of the Update register-pair can also be autom atically increm ented, as
we described for the interleaved m ode, by ensuring that when the
The 6545 CRT Controller 5-17
RS CS1 CSO
H H L 6 5 4 5 Parameter Register
Figure 5-11. Chip Select Logic for 6545 CRT Controller Transparent Addressing
m icroprocessor selects screen m em ory (as an I/O p o rt), it also causes a select
signal to be sent to the 6545 to address the U pdate register-pair. In addition,
this m ode of operation will require the sam e m ulti-step sequence to prepare for
the transfer of a first byte of data, but subsequent transfers require only a single
cycle so long as consecutive screen m em ory locations are being accessed.
Therefore, you should refer to our earlier discussion of chip select logic
and the preliminary steps required to load the Update register-pair for a d is
cussion of these set-up conditions.
The one significant difference between Figure 5-12 and Figure 5-9,
which showed the configuration for interleaved transparent addressing, is the
addition of a data hold latch between screen memory and the microprocessor.
The latch w ill be required since the microprocessor w ill not always have
immediate access to screen memory; therefore the latch is used to hold data
temporarily. The Update Strobe (UPSTB) signal from the 6545 is used to load
data into the latch from screen m em ory, or to gate data written into the latch by
the m icroprocessor into screen mem ory.
5-18 The CRT Controller Handbook
System
Data Bus
Figure 5-12. 6545 CRT Controller Transparent Memory Addressing Configuration for
Retrace Mode
Figure 5-13 shows the timing for the UPSTB signal. As soon as a n o n
display interval is entered, the 6545 outputs the contents of the update register
on the M A0-M A13 lines. This update address will be output for 3 Character
Clock (CCLK) periods. The UPSTB pulse is 1 CCLK period in duration and is
centered within the update address interval.
The tim ing illustrated in Figure 5-13 shows how data already loaded into
the holding latch would be strobed into screen m em ory at the appropriate tim e.
This timing does not, however, illustrate how the microprocessor can deter
mine when it can load another byte of data into the latch. This is where the
Ready bit in the 6545 status register comes into play.
Ready Figure 5-14 illustrates the operation of bit 7, the Ready bit, in the
Status Bit 6545’s Status register. W hen the 6545 is first pow ered-up, bit 7 will be set to a
1. W henever you load a byte of data into the data latch, you m ust
sim ultaneously access register R31 within the 6545 device. This access causes
the Ready bit to be reset. W hen the 6545 subsequently enters a non-display
interval, it outputs the update address and generates the UPSTB signal to load
that data into screen m em ory. Two CCLK periods later, the Ready bit will once
again be set high by the 6545. The m icroprocessor m ust then poll the 6545
device, by reading the contents of the Status register, to check the state of the
Ready bit. If this bit is low, it m eans that new data from screen m em ory has not
yet been loaded into the latch. W hen this bit is set high, it indicates that data
from screen m em ory has been loaded into the latch and can be read from the
latch by the microprocessor. W hen the m icroprocessor subsequently issues a
read to the data latch, the read operation should also access register R31 in the
6545. The operation will both capture data from the latch and increm ent the
contents of the 6545’s Update register so that the next consecutive screen
m em ory location can be accessed. The Ready bit in the Status register will be
The 6545 CRT Controller 5 -19
v/m ai v j i iiv/ai n c u a v / c i ^ u i r L / i D f j i a y
Display
J " 1J ~ ]
lT jT /\A A - n _ r ij i _ n
Display
.
DISPEN
Screen Display
Screen Display Addresses Addresses
MAO- V ¥ 1 r Update Address (UA) 1
M A 13 A A (from R18, R 19)
UPSTB
,
reset by this access of register R31. T hus, the Ready bit in the Status register
indicates to the m icroprocessor when data is available, while the UPSTB signal
from the 6545 effects the transfer of addressed data from refresh m em ory into
the data latch.
While the chip select logic required for this m ode of operation is quite
similar to that of the interleaved transparent addressing m ode, there are m inor
differences. For exam ple, a read operation initiated by the m icroprocessor
m ust cause a chip select signal or buffer enable signal to be generated for the
data latch, instead of for screen m em ory, while it sim ultaneously selects the
6545 to access register R31.
The tim ing for successive write operations in this transparent mode of
operation during non-display portions is not quite as straightforward as with
read operations. Figure 5-15 illustrates the sequence for two successive
write operations. Successive write operations effectively cause a double
update cycle, since read operations are autom atically initiated by the 6545
and interleaved with each of the write operations. As you can see, the con
tents of the U pdate register-pair will only be increm ented by the occurrence of
UPSTB after register R31 has been accessed as part of a m icroprocessor-initi
ated write operation. The 6545 operates in this way so that a byte of data is
always available from screen memory in the data latch, should the
microprocessor perform a read operation. If instead, the m icroprocessor per
form s a write operation, data that was previously read from screen m em ory is
simply ignored. The microprocessor m ust still poll the 6545 by reading the
contents of the Status register to determine the state of the Ready bit. In this
case, when the Ready status bit is low, it indicates that the 6545 is waiting to
store data held in the data latch in the location addressed by the contents of the
Update register-pair. W hen the Ready status bit goes high, it indicates that data
held in the latch has been w ritten into screen m em ory and the microprocessor
can then send another byte of data to the latch.
5-20
The CRT Controller Handbook
Figure 5-14. 6545 Ready Status Timing for Successive Read Operations
The 6545 CRT Controller
Figure 5-15. 6545 Ready Status Timing for Successive Write Operations
5-21
5-22 The CRT Controller Handbook
System
Figure 5-16. Using the 6545 CRT Controller’s Dual-Function RA4/UPSTB Signal
As you can deduce from the tim ing in Figure 5-15, the hardw are
required to im plem ent the data latch is not quite as straightforw ard as implied
by the tim ing for read operations. T he data latch m ust also include som e way of
storing the fact that the m icroprocessor perform ed a write into the latch. T hen,
a following update strobe can gate data from the latch into screen m em ory and
supply the required write signal to m em ory at the tim e of the UPSTB strobe.
W hen you are using the 6545 in the retrace-transparent-addressing
m ode, you can utilize both functions of the RA 4/U PSTB signal and thus
achieve character sizes greater than the 16 scan line limit that is im posed if you
use only RA 0-RA 3. Internally, the 6545 generates the RA4 and UPSTB signals
separately; it simply uses the sam e pin to output the two signals. D uring n o n
display (retrace) intervals, the internal RA 4 signal is always low. If the retrace-
transparent-addressing m ode has been specified, UPSTB will be output during
retrace intervals. The DISPEN signal will always be low during retrace and thus
can be used to reconstruct the separate RA4 and UPSTB signals external to the
6545. Figure 5-16 shows the external logic needed to create separate RA4 and
UPSTB signals. With the logic show n, RA4 will only be active during display
tim es and disabled during retrace tim es, while UPSTB will only function during
retrace or non-display tim es.
The 6545 CRT Controller 5-2 3
DATA SHEETS
This section contains specific electrical and tim ing data for the 6545.
5-2 4 The CRT Controller Handbook
6545
M A X IM U M R A T IN G S COMM ENT
Stresses above those listed under "A b s o lu te M a xim u m R atings"
Supply Voltage, Vcc -0 .3 V to +7.0V
may cause perm anent damage to the device. These are stress
In p u t/O utpu t Voltage, Vjn -0 .3 V to +7.0V ratings o n ly. F unctional o peration of this device at these or any
Operating Temperature, T q p 0°C to 7 0 °C other co n d itio n s above those indicated in the opera tion a l sec
Storage Temperature, TgjG -55°C to 150°C tio ns o f this specification is n ot im plied and exposure to absolute
m axim um rating co n d itio n s fo r extended periods may affect
device re lia b ility .
All inputs contain protection circuitry to prevent damage
due to high static discharges. Care should be exercised
to prevent unnecessary application o f voltages in excess
of the allowable limits.
1IN Input Leakage (02, R/w, RES, CS, RS, LPEN, CCLK) - 2.5 mA
TE S T LO A D
VCC
6545
MPU BUS IN T E R F A C E C H A R A C T E R IS T IC S
SY6545 SY6545A
Symbol Characteristic Min. Max. Min. Max. U nit
SY6545 SY6545A
Symbol Characteristic Min. Max. Min. Max. U nit
( tr and t f = 10 to 30 ns)
5-26 The CRT Controller Handbook
6545
6
The 5027 CRT Controller
The 5027 CRT controller was one of the first of the LSI controller
devices introduced. The functions provided by the 5027 may appear to be
somewhat more elem entary than those available with devices introduced
more recently. N onetheless, the 5027 still provides several interesting func
tions not available on any of the other devices we have described.
Figure 6-1 shows those portions of the idealized CRT controller, which
we developed in Chapter 1, that are provided by the 5027. If you compare this
figure to the equivalent ones for other CRT controllers we have described, it
may appear that the amount of logic provided by the 5027 is approximately
equal to that provided by the other devices. However, as we shall see when
we describe the logic of the 5027 in detail, many of the functions are im ple
mented in a m inim al fashion. For exam ple, Figure 6-1 indicates that cursor
logic is provided on the 5027, but the logic provided simply generates a con
tinuous stream of dots at a specified cursor location. You cannot cause the cur
sor to autom atically blink, nor do you have any options in specifying the shape
of the cursor symbol as was the case with som e other CRT controllers. We
should note that this will not necessarily be a disadvantage since many
character generators (for exam ple, the 8002, a com panion part to the 5027) can
provide the logic necessary to create different types of cursor symbols.
On the other hand, the SYNC generation logic provided by the 5027
exceeds that which is provided by most of the other devices. Not only are
HSYNC and VSYNC generated by the device, but a composite synchroniza
tion (CSYNC) signal is also available.
The 5027 provides no memory contention logic to sim plify access to
screen memory by both the microprocessor and the CRT controller. In addi
tion, the screen memory addressing logic provided by the 5027 always
addresses screen memory on a row/colum n basis; it cannot generate linear
memory addresses.
6-2 The CRT Controller Handbook
One unique feature of the 5027 which is not indicated in Figure 6-1 is a
self-load capability which allows the device to be sem i-autom atically
initialized during startup time.
The primary manufacturer of the 5027 CRT controller is:
The T M S9927 The device produced by SMC M icrosystem s, Solid State Scientific,
CRT Controller and M ostek is designated the 5027, w hile the Texas Instrum ents device is
called the TM S9927. The two devices are functionally identical although
there are minor differences in signal nomenclature. Throughout this chapter
we shall sim ply refer to this CRT controller as the 5027 except where we
point out minor differences in signal naming conventions. It is worth noting
here that no other device described in this book is available from such a large
number of manufacturers. This is due both to the length of tim e that the
5027 has been in existence, and to its wide use and acceptance.
There are two sets of signals associated with screen memory address
ing logic (H 0-H 7, D R 0-D R 5) and one set of signals associated with
character generator logic (R0-R 3).
Screen Mem ory and The 5027 addresses screen memory on a colum n/row basis. H 0-H 7 are
Character Generator the horizontal character or column address outputs, and D R 0-D R 5 are the
Signals vertical or data row address outputs. Pin number 31 functions as the most
significant column output (H7) if required; otherwise it is the most sign ifi
cant data row output (D R 5). While this gives you som e flexibility in utilizing
m em ory address space, this colum n/row addressing m ethod will still result in
inefficient use of m em ory space in m ost cases. For a discussion of the advan
tages and disadvantages of row /colum n addressing versus linear m em ory
addressing refer to C hapter 1.
R0-R3 are the Raster or scan line counter outputs which will be used as
inputs to character generator logic to select the proper dot pattern for the
various scan lines com prising each character row.
The 5027 provides a fairly standard set of signals to im plem ent the CRT
m onitor interface. HSYNC and VSYNC are the standard H orizontal Syn
chronization and Vertical Synchronization signals. T he position and duration
of these signals is program m able and is established by loading the desired
values into the 5027’s control registers.
CRT Monitor CSYNC is the Composite Synchronization signal and outputs a pulse
Signals stream which includes both the H SY NC and CSYNC sign als. The CSYNC
signal can only be used if the 5027 is operating in the non-interlaced mode
(we will discuss interlaced and non-interlaced m odes later in this chapter). The
CSYNC signal can be externally m ixed with video to produce a com posite
video output to the CRT m onitor.
CRV is the Cursor Video output signal. The 5027 has two cursor posi
tion registers which can be loaded under program control. W hen the screen
m em ory address is the sam e as the address defined by the cursor position
registers, then the CRV signal will be set high to produce a continuous stream
of dots at that character position. The CRV signal will be set high at that
character position for all scan lines com prising the character row. T hus, the
cursor symbol produced by the 5027 w ill always appear as a block signal as
opposed to an underline cursor symbol. H ow ever, external logic may be
utilized to generate other cursor types using CRV as a condition signal.
BL is the Blanking signal and w ill be output high during vertical and
horizontal retrace. BL w ill also be high during those portions of horizontal
and vertical scan where video data is not to be displayed. You establish those
tim es when BL is to be active under program control by loading the desired
values into the control registers.
6-6 The CRT Controller Handbook
X = d o n 't care
CS Scroll
DS Reset
Command
Start
Decode Self-Load
and Register
Select Logic
Control Register
0
Control Register
=c> 1
Control Register
2
Control Register
3
Control Register
DBO-DB7
<=> 4
Control Register
=^> 5
Control Register
=?> 6
Cursor Row
o Position(Register7)
Cursor Column
c=o Position(Register8]
Since the seven control registers are used to establish basic screen form at
and tim ing characterstics, they will usually be loaded when a system is first
started up and will not have to be accessed thereafter. It is only th e cursor posi
tion registers that will be accessed on any recurring basis.
Since the contents of the control registers determine all of the primary
operating characteristics of the 5027, we w ill defer a description of the con
tents of each register until later in this chapter when we describe program
ming the device.
6-8 The CRT Controller Handbook
AO-A3
r ............. 1
W / JT Z l
DS
Read/Write The register address inputs (A0-A3) must be stable and the Chip
Operations Select (CS) signal m ust be high before the Data Strobe (DS) signal is driven
low. As we have indicated in Figure 6-3, the DS signal would typically be the
logical NOR of the microprocessor-generated Read (RD) and Write (WR)
signals. The tim ing requirem ents for DS, so far as pulse width is concerned,
are identical w hether you are writing data into the 5027 or reading inform ation
from the 5027. Data that is to be loaded into the 5027 m ust be presented on the
DB0-DB7 lines som e m inim al tim e interval before DS m akes its negative-to-
positive transition, and the data m ust be held stable until after th at transition.
The timing for a read operation initiated by the microprocessor to read
the contents of one of the 5027’s cursor position registers is equally
straightforward and can be illustrated as follows:
AO-A3
V/////J
DBO-DB7 y Data Out Valid
DS
a_____ r
The 5027 CRT Controller 6-9
If you refer once again to Figure 6-3 you w ill note that both the Chip
Select (CS) and register address (A0-A3) inputs to the 5027 are derived from
the microprocessor system ’s address bus. Thus the 5027 would occupy 16
memory or I/O locations in the microprocessor system ’s addressing space.
Each register/com m and of the 5027 would thus be addressed by the
m icroprocessor as a separate m em ory location or I/O device. D ata can be writ
ten to nine of these locations (the seven control registers and the two cursor
position registers) and read from two of these locations (the cursor position
registers). The rem aining five addresses initiate com m ands, and no transfer of
data is required; for these com m ands, the m icroprocessor could simply per
form a dum m y access to that com m and address location.
When the system is first powered up, a succession of write operations
m ust be directed to the 5027 in order to establish in itial values in all of the
control registers. This initialization process can be accomplished using
microprocessor-initiated write operations as we have ju st described. T here
are two other m ethods of establishing these initial control register values for
the 5027. First, if volume ju stifies it, you can order mask-programmed ver
sions of the 5027 which w ill have the values that you specify permanently
set into the control registers. For exam ple, the 5047 device produced by SMC
M icrosystem s has a fixed form at of 24 data rows with 80 characters per row. It
is thus the functional equivalent of the pre-program m ed DP8350 described in
Chapter 2. W ith one of these pre-program m ed versions, th e m icroprocessor
would only need to access the 5027 to load the cursor registers or read the con
tents of the cursor position registers. Of course, this approach perm anently
fixes the operating characteristics of the 5027.
6-10 The CRT Controller Handbook
Tri-State From
Inverters System
I--------------- 1
CS
i> ° -
AO
-f> °-
A1
- |> >
A2
A3
-[> > ■
5027
____ | Enable $
DS
Power-Up
Initialization
Logic :!> DBO -DB7
SLOAD
R0-R3
CS
To Character
A 0 -A 3
=> Generator Logic
32 x 8
PROM
A4
ri
D ot P a tte rn fro m
C haracter G enerator
HSYNC
J \ i i rv
VSYNC
CSYNC
(y iLP uAi1j\jy J ' — vr
The Cursor Video (CRV) signal is generated by the 5027 whenever the
screen memory address is equal to the address contained in the cursor posi
tion registers. This signal is similar to that provided by the oth er CRT con
troller devices we described but it is lim ited in that there are no programma
ble options provided to create cursors of different shapes or blinking cursor
The 5027 CRT Controller 6 -1 5
sym bols. The CRV signal will simply be output high during all scan lines at the
cursor position, thus creating a block cursor symbol. You can, of course, use
external logic to create a reverse video cursor symbol.
The Blanking (BL) signal w ill be set high during horizontal and verti
cal retrace tim es and thus can be used to turn off VIDEO during these inter
vals. You specify those points w here the BL signal is to be activated by loading
the appropriate values into the control registers. T hose intervals w here BL is to
be activated have no fixed relationships to the occurrence of the HSYNC or
VSYNC signals. Instead, the BL signal w ill be activated at all tim es except
during those intervals when you have specified that characters are to be dis
played on the screen.
The CRV, BL, and HSY NC signals are all synchronized to the screen
memory address outputs: that is, w hen the screen address corresponding to
the cursor position, start of blanking, or HSYN activation point is generated,
then the CRV, BL, or HSYN signal will be activiated at that tim e. However,
since som e tim e will be required to access the corresponding character from
screen m em ory, generate the dot pattern very via character generator logic and
shifted out the the video shift register, the CRV, BL, or H SY N signal may be
activated well before the corresponding character is being sent to the screen.
This effect is known as “ pipelining” and we have discussed it in relationship
to other CRT controllers. The 5027 allows you to introduce skew delays to
account for this pipelining effect by programming the appropriate control
register. In Figure 6-7 we have indicated this program m able delay function for
these three signals with the dotted block across CRV, BL, and HSYNC. Delays
of one or two character tim es can be specified for each of these signals.
Figure 6-8. 5027 CRT Controller Horizontal Character Count Register (RO)
HSYNC
_ r v
- A ctive Video -
Bit No
Figure 6-10. 5027 CRT Controller Characters and Scan Lines/Data Row Register (R2)
Character and Scan Figure 6-10 shows the format for the Character and Scan Lines Per
Lines Per Data Row Data Row register (R2). The least significant three bits specify the number
Register (R2) of characters per data row that are to be displayed. As you can see, you have
eight possible choices ranging from 20 to 132 characters per data row. If you
specify a m ask-program m ed version of the 5027, how ever, you can obtain up
to 200 characters per row. The next four bits (3-6) of this register determine
the number of scan lines that shall comprise each data row. A character row
can consist of from 1 to 16 scan lines.
6-18 The CRT Controller Handbook
Data Rows Per Figure 6-11 shows the format for the Data Rows Per Frame and Skew
Frame and Skew register (R3). The six least significant bits determine the number of data
Register (R3) rows that shall be displayed on the screen. You can specify that from 1 to 64
rows be displayed. The two most significant bits of register R3 allow you to
specify that the H SY NC , BL, and CRV signals be delayed or skewed to
account for the pipelining effect that results from accum ulated delays through
character generator logic. Refer to Figure 6-7 to see the functional position of
these delays in the CRT m onitor interface.
The 5027 CRT Controller 6 -19
Non-Interlaced Mode
Scan Lines = [R4] x 2 + 2 5 6
(Even values only from 2 5 6 to 7 66 lines)
Scan Lines Figure 6-12 shows the format for the Scan Lines Per Frame register
Per Frame (R4). As you can see in the figure, the way in which this register is pro-
Register (R4) grammed is dependent on whether the 5027 is operating in the interlaced or
non-interlaced mode. In the interlaced m ode, the total nu m b er of scan lines,
including the tim e allowed for vertical retrace, is a m inim um of 513, and a
m axim um of 1023 can be specified. In the interlaced m ode, the nu m b er of scan
lines specified m ust be an odd num ber. In the non-interlaced m ode there can
be from 256 to 766 scan lines per fram e, and only even counts are perm itted.
6-2 0 The CRT Controller Handbook
Vertical Start Figure 6-13 shows the format for the Vertical Start register (R5). This
Register (R5) register defines the tim e, in scan lin es, between the beginning of the
VSYNC pulse and the beginning of display of the first scan line of the first
data row on the screen. The duration of the VSYNC pulse itself is always
equal to three scan line tim es. T hus, the vertical scan delay show n in Figure
6-13 is equal to the vertical start delay you specified m inus 3 scan line tim es.
One other delay is show n in Figure 6-13: VSYNC delay. This delay is not
specified directly but can be derived by subtracting the vertical data start delay
plus the total num ber of displayed scan lines per screen (see Register R3 and
Register R2) from the total num ber of scan lines per fram e (see Register R4).
The 5027 CRT Controller 6-21
Figure 6-14. 5027 CRT Controller Last Data Row Address Register (R6)
Last Data Row Figure 6-14 shows the format for the Last Data Row Address register
Address Register (R6) (R6). This register defines the row address of the data that is to be displayed
as the bottom row on the screen. T he function of this register should not be
confused with that of Register R3, which defines the total n um ber of displayed
data rows per screen. This register (R6) is associated with the scrolling func
tion of the 5027. For exam ple, if you have defined that th e screen is to display
24 data rows, then the top row on the screen would norm ally have a row
address of 0 and the bottom row on the screen would be row 23. H ow ever, if
you load Register R6 with the num ber 15, in this exam ple, then the bottom
row on the screen would have a row address of 15, the top row on the screen
would be row 16, and rows 0 and 23 would be contiguous in the m iddle of the
screen. T hus, Register R6 simply determ ines the row address that is to be o u t
put (on D R 0-D R 4) for the last displayed row on the screen and th u s also d eter
m ines the first row address that will be output after vertical retrace when the
top row is being accessed from screen mem ory.
The 5027 also provides an Up Scroll com m and which simply increm ents
the value held in R6 by 1. We will now proceed to describe th e 5027 com
m ands, including this Up Scroll com m and.
6-22 The CRT Controller Handbook
Address
Com mand Read (R)
Com m and
Code (Hex) W rite (W )
A3 A2 A1 AO
0 1 1 1 7 X Processor-Initiated Self-Load
1 O 0 0 8 R Read Cursor Row Address
1 0 0 1 9 R Read Cursor Character (Column) Address
1 0 1 0 A X Reset
1 0 1 1 B X Up Scroll
1 1 0 0 C W Load Cursor Character (Column) Address
1 1 0 1 D w Load Cursor Row Address
1 1 1 0 E x Start Tim ing Chain
1 1 1 1 F x Non-Processor Self-Load
The R eset com m and (A 15) causes the 5027 tim in g ch ain to be reset.
T he in te rn a l counters w ill be reset to values corresponding to th e top left
position of the screen. The Reset com m and is latched internally by the Data
Strobe (DS) signal and the counters will be held reset until you send the Start
Timing Chain com m and to the 5027.
The S ta rt T im ing C hain com m and (E 16) m u st be used after a R eset or
P ro c esso r-In itiated Self-Load com m and to allow the 5027 to resu m e opera
tion. This com m and releases the tim ing chain approxim ately one scan-line
tim e after it is received.
If you are using the m icroprocessor to in itialize th e 5027 by loading the
control reg isters on s ta rtu p ra th e r th a n using one of the self-load modes,
th en a specific sequence of com m ands is required. T he com m and sequence is
as follow s:
S ta rt T im ing Chain
Reset
Load R egister 0
Load R egister 6
S ta rt T im ing Chain
Dot Clock
DATA SHEETS
This section contains specific electrical and tim ing data for the 5027.
6-26 The CRT Controller Handbook
5027
M AXIMUM G UARANTEED RATINGS
Operating Tem perature Range ..................................................................................................................................0°C to + 70°C
Storage Tem perature Range .................................................................................................................................. - 55°C to + 1 50°C
Lead Tem perature (soldering, 10 s e c . ) .................................................................................................................................. +325°C
Positive Voltage on any Pin, with respect to ground ...........................................................................................................+ 18.0V
Negative Voltage on any Pin, with respect to ground ........................................................................................................... -0 .3 V
:: Stresses above those listed may cause perm anent dam age to the device. This is a stress rating only and
functional operation of the device at these or at any other condition above those indicated in the operational
sections of this specification is not implied.
NOTE: W hen p o w e rin g th is d e v ic e from la b o ra to ry o r system p o w e r s upp lie s, it is im p o rta n t that
the A b s o lu te M axim um R a tings not be exc e e d e d o r d e v ic e fa ilu re can result. S o m e p o w e r s u p p lie s
e x h ib it v o lta g e s p ik e s o r “ g litc h e s ” on th e ir o u tp u ts w hen the AC p o w e r is s w itc h e d on and off.
In a d d itio n , v o lta g e tra n s ie n ts on the AC p o w e r lin e m ay app e a r on the DC output. For exam ple, the
bench p o w e r s u p p ly p ro g ra m m e d to d e liv e r + 1 2 v o lts may have la rg e v o lta g e tra n s ie n ts w hen the
AC p o w e r is s w itc h e d on and off. If th is p o s s ib ility e x is ts it is s u g g e s te d that a c la m p c ir c u it be used.
D.C. CHARACTERISTICS
INPUT VOLTAGE LEVELS
Low Level. Vn 0.8 V
High Level, V ih V c c - 1.5 Vcc V
OUTPUT VOLTAGE LEVELS
Low Level— V o l for R0-3 0.4 V Iol =3.2m a
Low Level— V o l all others 0.4 V Ioi = 1,6ma
High Level— V o h for R0-3 2.4 I oh = 80/j.a
High Level— V o h all others 2.4 lo H = 40/xa
IN PU TC U R R EN T
Low Level, In
High Level. Im
INPUT CAPACITANCE
Data Bus, C in 10 Pf
Clock, C in 25 Pf
All other, C in 10 Pf
DATA BUS LEAKAGE in INPUT MODE
Idb
Idb
POWER SUPPLY CURRENT
Icc 80 ma
I dd 40 ma
A.C. CHARACTERISTICS Ta = 25 C
DOT COUNTER CARRY
frequency 0.2 4.0 MHz Figure 1
PW h 35 ns Figure 1
PW l 190 ns Figure 1
tr, tf 10 ns Figure 1
DATA STROBE
PW ds 150 ns Figure 2
ADDRESS, CHIP SELECT
Set-up time 100 ns Figure 2
Hold time 50 ns Figure 2
DATA BUS— LOADING
Set-up time 100 ns Figure 2
Hold time 75 ns Figure 2
DATA BUS— READING
T DEL2 100 ns Figure 2, CL 50pf
OUTPUTS: H0-7. HS, VS, BL, CRV,
C S -T deu 100 ns Figure 1, CL 20pf
OUTPUTS: R0-3. DR0-5
T DEL3 1.0 MS Figure 3, CL 20pf
R estrictio ns
1. Only one pin is available for strobing data into the device via the data bus. The cursor X and Y coordinates are therefore
loaded into the chip by presenting one set of addresses and outputed by presenting a different set of addresses. Therefore
the standard W RITE and READ control signals from most m icroprocessors must be "N O R ed" externally to present a single
strobe (DSJ signal to the device.
2. An even num ber of scan lines per character row must be program med in interlace mode. This is again due to pin count
limitations which require that the least significant bit of the scan counter serve as the odd/even field indicator.
3. In interlaced mode the total num ber of character slots assigned to the horizontal scan must be even to insure that vertical
sync occurs precisely between horizontal sync pulses.
Data sheets on pages 6 -2 6 and 6 -27 are reprinted by permission of SM C M icrosystem s Corporation.
The 5027 CRT Controller 6 -27
5027
AC TIMING DIAGRAM S
H0-7
H SYNC. V SYNC. BLANK
CURSOR VIDEO.
COMPOSITE SYNC
TO CHARACTER GENERATOR
Index
Devices Covered
ISBN 0-07-^31045-1