Professional Documents
Culture Documents
TI TMS9918 VDP Datasheet
TI TMS9918 VDP Datasheet
9900
TM S9918A/TM S 9928A /TM S 9929A
Video Display Processors
MICROPROCESSOR SERIES
IM PO RTANT NOTICES
Copyright © 1982
Texas Instruments Incorporated
TABLE OF CONTENTS
SECTION PAGE
1. IN T R O D U C T IO N .................................................................................................................................................................. 1-1
1.1 Description..................................................................................................................................................................... 1-1
1.2 Features......................................................................................................................................................................... 1-1
1.3 Typical Applications.......................................................................................................................................................1-2
1.4 Acronyms and Glossary....................................................... 1-3
2. A R C H IT E C T U R E ..................................................................................................................................................................2-1
2.1 CPU Interface........................ ....................................................................................................................................... 2-1
2.1.1 CPU interface Control Signals............................................................................................................................ 2-1
2.1.2 CPU Write to VDP Register ................................................................................................................................ 2-1
2.1.3 CPU Write to V R A M ........................................................................................................................................... 2-3
2.1.4 CPU Read from VDP Status Register................................................................................................................. 2-4
2.1.5 CPU Read from V R A M ....................................................................................................................................... 2-4
2.1.6 VDP In te rru p t...................................................................................................................................................... 2-5
2.1.7 VDP Initialization.......................... 2-5
2.2 Write-Only Registers...................................................................................................................................................... 2-5
2.2.1 Register 0 ..............................................................................................................................................................2-5
2.2.2 Register 1 ..............................................................................................................................................................2-5
2.2.3 Register 2 ........... 2-7
2.2.4 Register 3 ................................................ 2-7
2.2.5 R egister4............................................................................................................................................................ 2-7
2.2.6 Register5 ........................................................................................... 2-7
2.2.7 Register 6 ..............................................................................................................................................................2-7
2.2.8 Register7 ..............................................................................................................................................................2-7
2.2.9 Setup Values for VDP Registers 2through 6 .......... 2-7
2.3 Status R egister............................................................................................................................................................2-11
2.3.1 Interrupt Flag (F) ...............................................................................................................................................2-11
2.3.2 Coincidence Flag (C )................................................................................................................. 2-11
2.3.3 Fifth Sprite Flag (5S) and N um be r...................................................................................................................2-11
2.4 Video Display M o d e s ...................................................................................................................................................2-12
2.4.1 Graphics I M ode.................................................................................................................................................2-17
2.4.2 Graphics It M o d e ...............................................................................................................................................2-19
2.4.3 Multicolor Mode.................................................................................................................................................2-21
2.4.4 Text M ode.......................................................................................................................................................... 2-23
2.4.5 Sprites................................................................................................................................................................2-25
2.4.6 A Step-by-Step Approach to Create Patterns and S p rite s ..............................................................................2-29
Hi
TABLE OF CONTENTS (continued)
SECTION PAGE
LIST OF APPENDICES
APPENDIX PAGE
A ASCII Character S e t......................................................................................................................................................A-1
B Choosing VRAM M em ory............................................................................................................................................. B-1
C Pattern and Screen Worksheets....................................................................................................................................C-1
iv
LIST OF ILLUSTRATIONS
FIGURE PAGE
1- 1 System Block Diagram .............................................................................................................................................................1-2
2- 1 VDP Block Diagram .................................................................................................................................................................. 2-2
2-2 VDP to CPU In te rfa ce .............................................................................................................................................................. 2-3
2-3 VDP Registers........................................................................................................................................................................... 2-6
2-4 VDP Display Planes (Definition)............................................................................................................................................. 2-12
2-5 VDP Display Planes (First 32 Planes) .................................................................................................................................. 2-13
2-6 TMS9928A/9929A Signal Waveforms for Multiple VDP Operation.................................................................................... 2-14
2-7 Using Color Difference Signals to Mix ExternalColor Difference Type S ource.....................................................................2-15
2-8 Using Color Difference Signals to Mix External Video Sources............................................................................................2-15
2-9 Pattern Graphics Name Table M a p p in g ................................................................................................................................. 2-17
2-10 Graphics I Mode Mapping....................................................................................................................................................... 2-18
2-11 Pattern Display Mapping..................................................................................................................................................... て.2-18
2-12 Graphics II Mode M apping..................................................................................................................................................... 2-20
2-13 Pattern Display Mapping.......................................................................................................................
2-14 Multicolor List M ap pin g ......................................................................................................................................................... 2-21
2-15 Multicolor Block Display......................................................................................................................................................... 2-22
2-16 Multicolor Mode M a p p in g ..................................................................................................................................................... 2-23
2-17 Text Mode Name Table Pattern P o sitions............................................................................................................................. 2-23
2-18 Mapping of VRAM into the Pattern Plane in Text M o d e ................................................................................................ .2-24
2-19 Sprite Attribute Table E n try....................................................................................................................................................2-25
2-20 Sprite M apping........................................................................................................................................................................ 2-26
2- 21 Size 1 Sprite M apping............................................................................................................................................................. 2-28
5- 1 Load Circuit for COMVID {All Devices) and R-Y, V, B-Y Switching Characteristics (TMS9928A/9929A) ......................... 5-9
5-2 Load Circuits for All Outputs Except COMVID,R-Y, Y, B-Y......................................................................................................5-9
5-3 CPU-VDP Write Cycle {All Devices) ....................................................................................................................................... 5-10
5-4 CPU-VDP Read Cycle (All Devices)......................................................................................................................................... 5-10
5-5 VRAM Write Cycle................................................................................................................................................................... 5-11
5-6 VRAM Read C ycle................................................................................................................................................................... 5-11
5-7 External Clock Timing Waveform ........................................................................................................................................... 5-12
5-8 TMS9918A COMVID Horizontal T im in g ................................................................................................................................5-12
5-9 TMS9918A Vertical T im in g .................................................................................................................................................... 5-12
v
LIST OF ILLUSTRATIONS (continued)
FIGURE PAGE
LIST OF TABLES
TABLE PAGE
2-1 CPU/VDP Data Transfers............................................................. 2-3
2-2 Memory Access Delay T im e s....................................................................................................................................................2-4
2-3 Color Assignments................................................................................................................................................................... 2-17
2-4 Graphics I Mode Color T a b le ...................................................................... 2-19
2- 5 Sprite Pattern F orm ats........................................................................................................................................................... 2-25
vi
IN TR O D U C TIO N
1.1 Description
The TMS9918A/9928A/9929A video display processors (VDP) are N-channel MOS LSI devices used in video systems
where data display on a raster-scanned home color television set or color monitor is desired. These devices generate all
necessary video, control, and synchronization signals and also control the storage, retrieval, and refresh of display data in
the dynamic screen refresh memory. The interfaces to the microprocessor, refresh memory, and the TV require a minimum
of additional electronics for the TMS9918A.
In Section 1.4, there is a list of acronyms and a glossary of terms used in this manual.
The TMS9928A/9929A VDPs are functionally identical to the TMS9918A except that the NTSC color encoding circuitry
has been removed and replaced with luminance and color difference signals. The TMS9918A is pin-for-pin compatible
w ith the TMS9928A/9929A, except for thTee pins, the composite video output, the external video input and the CPU
clock output. These pins are replaced with the Biack/White luminance and composite sync (Y) output and tw o color dif
ference pins. Blue (B-Y) and Red (R-Y) outputs, respectively. The color difference outputs allow the user to generate Red-
Green-Blue (R-G-B) drive for direct color gun control, or composite video for use with NTSC or PAL video color monitor.
However, to connect these three outputs to a R-G-B or monitor requires additional R-G-B or encoder circuitry.
The TMS9918A/9928A have a 525-line format for U.S. televisions while the TMS9929A has a 625-line format for use
with the European PA しsystem.
The VDP has four video display modes: Graphics I, Graphics II, Multicolor and Text mode. The Text mode provides twenty-
four 40-character rows in two colors and is intended to maximize the capacity of the TV screen to display alphanumeric
character. The Multicolor mode provides an unrestricted 64 x 48 coior-dot display employing 15 colors plus transparent.
The Graphics I mode provides a 256 x 192 pixel display for generating pattern graphics in 15 colors plus transparent. The
Graphics It mode is an enhancement of Graphics I mode, allowing it to generate more complex color and pattern displays.
The four video display modes are described in detail in Section 2.4.
The video display consists of 35 planes: external VDP, backdrop, pattern plane, and 32 Sprite Planes. The planes are ver
tically stacked with the external VDP being the bottom or innermost plane. The backdrop plane is the next plane followed
by the pattern plane that contains Graphics I and Graphics II patterns with the 32 Sprite Planes as the top planes.
The TMS9918A/9928A/9929A VDPs use either a 4K, 8K, or 16K-type low-cost dynamic memory {TMS4027,
TMS4108, TMS4116) for storage of the display parameters.
The TMS9918A, TMS9928A, and TMS9929A interface identically to the host microprocessor making them software
compatible. Thus, all references to VDP in this document apply to all three devices, except where noted.
1.2 FEATURES
• Single-chip solution for interfacing color TVs (excluding Random-Access Memory (RAM) and Radio Frequency (RFj
modulator (TMS9918A only)
• Home computers
• Draft丨
ng/design aids
• Teaching aids
• Industrial process monitoring
The following example of a typical application may help introduce the user to the TMS9918A VDP. Figure 1-1 is a block
diagram of a typical application. Each of the concepts presented in the example is described more fully in later sections of
this manual.
0
u a i
M S 3
TM S9918A /
9928A /9929A
VDP
D ATA BUS
- HOME T V W ITH O U T
V ID E O INPUT
The VDP basically has three interfaces: CPU, color monitor, and dynamic refresh RAM (VRAM), the contents of which
define the TV image. The TMS9918A also has eight write-only registers and a read-only status register.
The VDP communicates with the CPU via an 8-bit bidirectional data bus. Three control lines, decoded from the CPU
address and enable lines, determine interpretation of the bus. Through the bus, the CPU can write to VRAM, read from
VRAM, write to VDP registers, and read the VDP status. The VDP also generates an interrupt signal after every refresh of
the TV display.
The dynamic RAM interface consists of direct wiring of eight 4K x 1 , 8K x 1 , or 16K x 1 dynamic RAS/CAS-type
RAMs to the VDP. The amount of RAM required is dependent upon the features selected for use in the application.
The interface to the monitor can consist of either wiring the TMS9918A’s composite video output pin (suitably buffered}
to the input of a color or black-and-white monitor, or using an appropriate RF modulator to feed the signal into a TV anten
na terminal. The TMS9928A/9929A require additional encoder circuitry to interface to a RGB or to a composite video
monitor.
1-2
The VDP operates in four modes, and each one can affect the way the VRAM is mapped onto the television screen. In
Graphics I and II modes, characters are 巾apped onto the screen in 8 x 8 pixel blocks, yielding 24 lines of 32 blocks (pat-
tern positions) each. In Text mode, there are 24 lines of 40 blocks, each of which is 6 x 8 pixels. In Multicolor mode, there
are 48 lines of 64 blocks, each of which is composed of 4 x 4 picture elements (pixels}, all of one solid color. In addition to
these, sprites can be superimposed onto the television image in Graphics I, II, and Multicolor mode. Furthermore, signals
entering the TMS9918A through the external VDP input can be used as a background to the TMS9918A.
1-3
2. ARCHITECTURE
The TMS9918A video display processor (VDP) is designed to provide a simple interface between a microprocessor and a
raster-scanned color television. The TMS9928A/9929A VDPs are designed as a simple interface between a
microprocessor, and R-G-B monitor or video encoder which produces the video for a video monitor. Figure 2-1 is a block
diagram of the major portions of the VDP architecture interfaces to the VDP, CPU, VRAM, and color television.
Each of these operations requires one or more data transfers to take place over the CPU/VDP data bus interface. The
interpretation of the data transfer is determined by the three control lines of the VDP.
NOTE
The CPU can communicate with the VDP si巾ultaneously and asynchronously with the
VDPs screen refresh operations•丁he VDP performs memory management and allows
periodic intervals of CPU access to VRAM even in the middle of a raster scan.
MODE determines the source or destination of a read or write data transfer. MODE is normally tied to a CPU low order
address line (A14 for TMS9900).
NOTE
2-1
IN T E R R U P T
C O N TR O L
R E G IS T E R BUS 8 /
_1 T 飞 厂
A D D R E S S O U TP U TS (0 7)
CSR
C O LO ^BASE
NAME BA '
D E W C ^ IP T O "
3
DH
DECODED
R E G IS T E R
3 E G IS T E "
R E G IS T E R
3
SELEC T
m H^g
S IT E
MODE » x n si A D O R E S S /D A T A
3) C ®H M U L T IP L E X E R
O m os -
1
» > sg
i± o <> o ROWAND
J C OM MAND ADORESS
D A T A CONTROL
<5^ 公 CONTRO L
C R J D A T A P O X T f〇
SDB R A M A O O R E S S /D A T A BUS
分 分 倚 TT
0 MSB
^8/
71
-n t
S U BTR AC TO R PLA
AND C O N TR O L
N AM E
COMPARE
LA TC H
‘へ
t r = d t \ FOREGROUND
p CO LO R
CO
<> BACKGROUND
广° x -
> CO LO R
UL
AND C O L L iN
P F U O F ^ T Y丨 ! crT p广"x"»
Js SPRITE *1
COLOR
R A M D A T A IN P U T S5
iC SPRITE ^ 2
DETECT
CO LO R
J\ l
SPRITE #3
COLOR
71
_ T _ SPRITE #4
COLOR
WRITE TO VRAM
BYTE 1 ADDRESS SETU P A6 a 7 a 8 a9 A 10 A11 A12 A13 0 1 1
2-3
2.1.4 CPU Read fro m VDP Status Register
The CPU can read the contents of the status register with a single-byte transfer. MODE is high for the transfer. CSR is used
to signal the VDP that a read operation is required.
The CPU reads from the VRAM through the VDP using the autoincrementing address register. A 1-byte transfer is then re
quired to read the data from the addressed VRAM byte. The address register is then autoincremented. Sequential VRAM
data reads require only a 1-byte transfer since the address register is already set up. During setup of the address register,
the two MSBs of the second address byte must be 0. By setting up the address this way, a read cycle to VRAM is initiated
and read data will be available for the first data transfer to the CPU. (See Table 2 -1 ).MODE is high for the address byte
transfers and low for the data transfers. The VDP requires approximately 8 microseconds to fetch the VRAM byte follow
ing the last data transfer and 2 microseconds following address setup.
The CPU interacts with VRAM memory through the VDP. The amount of time necessary for the CPU to transfer a byte of
data to or from VRAM memory can vary from 2 to 8 microseconds. Once the VDP has been told to read or write a byte of
data to or from VRAM it takes approximately 2 microseconds until the VDP is ready to make the data transfer. In addition
to this 2 microsecond delay, the VDP must wait for a CPU access window; i.e., the period of time when the VDP is not
occupied with memory refresh or screen display and is available to read or write data.
The worst case time between windows occurs during the Graphics i or Graphics II mode when sprites are being used. Dur
ing the active display, CPU windows occur once every 16 memory cycles giving a maximum delay of 6 microseconds (a
memory cycle takes about 372 nanoseconds). In the Text mode the CPU windows occur at least once out of every three
memory cycles or a worst case delay of about 1.1 microseconds. Finally, in the Multicolor mode, CPU windows occur at
least once out of every four memory cycles.
If the user needs to access memory in 2 microseconds, tw o situations occur where the time waiting for an access window
is effectively zero. Both of these are independent of the display mode being used.
The first situation occurs when the blank bit of register 1 is 0. With this bit low, the entire screen will show only border
color and the VDP does not have to wait for a CPU access window at any time.
The second situation occurs when the VDP is in the vertical refresh mode. The VDP issues an interrupt output at the end of
each active area. This signal indicates that the VDP is entering the vertical refresh mode and that for the next 4.3
milliseconds there is no waiting for an access window. If the user wants the CPU to access memory during this interval, it is
necessary for the controlling CPU to monitor the interrupt output of the VDP (the CPU can either poll this output or use it
as an interrupt input).
The program that monitors the interrupt output must allow for its own delays in responding to the interrupt signal and
recognize how much time it has left during the 4300 microsecond refresh period. The CPU must write a 1 to the interrupt
enable bit of Register 1 in order to enable the interrupt for each frame, and then read the status register each time an inter
rupt is issued to clear the interrupt output. A summary of these delay times is presented in Table 2-2.
2-4
2.1.6 VDP Interrupt
The VDP INT output pin is used to generate an interrupt at the end of each active-display scan, which is about every 1 /60
second for the TMS9918A/9928A and 1/50 second for the TMS9929A. The INT output is active when the Interrupt
Enable bit (IE) in VDP Register 1 is a 1 and the F bit of the status register is a 1 . Interrupts are cleared when the status
register is read.
The eight VDP write-only registers are shown in Figure 2-3. They are loaded by the CPU as described in Section 2.1.2.
Registers 0 and 1 contain flags to enable or disable various VDP features and modes. Registers 2 through 6 contain values
that specify starting locations of various sub-blocks of VRAM. The definitions of these sub-blocks are described in Section
2.4. Register 7 is used to define backdrop and text colors.
Each register is described in the following paragraphs.
2.2.1 Register 0
Register 0 contains tw o VDP option control bits. All other bits are reserved for future use and must be Os.
BIT 6 M3 {mode bit 3) (see Section 2.3.2 for table and description)
BIT 7 External VDP enable/disable
NOTE
Enabling bit 7 in the TMS9928A/9929A causes A-V and B-Y to go to the sync level only
when all planes in front of the pixel under question are transparent.
2-5
BIT 6 Size (sprite size select)
0 selects Size 0 sprites ( 8 x 8 bit)
1 selects Size 1 sprites (16 x 16 bits)
BIT 7 MAG (Magnification option for sprites}
0 0 0 0 0 0 M3 EV
1 1 1
0 0 0 0 N A M E T A B L E B AS E A D D R E S S
2
1 1 1
3 C O L O R T A B L E B AS E A D D R E S S
I I I l l |
5 0 S P R I T E A T T R IB U T E T A B L E B A S E A D D R E S S
1 1 1 ■ l !
7 TEXTCO LO Ri T E X T C O L O R 〇/B A C K D R O P C O L O R
1 i l l I 1
1 1 1 1
STATUS F 5S C F I F T H S P R IT E N U M B E R
(R E A D -O N L Y !
1 1 1 1
2-6
2.2.3 Register 2
Register 2 defines the base address of the Name Table sub-block. The range of its contents is from 0 to 15. The contents of
the register form the upper 4 bits of the 14-bit Name Table addresses; thus the Name Table base address is equal to
(Register 2) MOO(hex).
2.2.4 Register 3
Register 3 defines the base address of the Color Table sub-bfock. The range of its contents is from 0 to 255. The contents
of the register form the upper 8 bits of the 14-bit Color Table addresses; thus the Color Table base address is equal to
{Register 3) *40(hex).
2.2.5 Register 4
Register 4 defines the base address of the Pattern, Text or Multicolor Generator sub-block. The range of its contents is 0
through 7. The contents of the register form the upper 3 bits of the 14-bit Generator addresses; thus the Generator base
address is equal to (Register 4) *800(hex).
2.2.6 Register 5
Register 5 defines the base address of the Sprite Attribute Table sub-block. The range of its contents is from 0 through
127. The contents of the register form the upper 7 bits of the 14-bit Sprite Attribute Table addresses; thus the base
address is equal to (Register 5) #80(hex).
2.2.7 Register 6
Register 6 defines the base address of the Sprite Pattern Generator sub-block. The range of its contents is 0 through 7.
The contents of the register form the upper 3 bits of the 14-bit Sprite Pattern Generator addresses; thus the Sprite Pattern
Generator base address is equal to (Register 6) #800(hex).
2.2.8 Register 7
The upper 4 bits of Register 7 contain the color code of color 1 in the Text mode. The lower 4 bits contain the color code
for color 0 in the Text mode and the backdrop color in all modes.
VR AM TABLE ADDRESSING
Register 2 in the VDP contains the starting address for the Name Table sub-block.
R2 ADDRESS
00 0000
01 0400
02 0800
03 0C00 - M/s
M AXIM U M NUMBER FOR 4K RAMS
04 1000
05 1400
06 1800
07 1C00
08 2000
09 2400
0A 2800
0B 2C00
OC 3000
0D 3400
0E 3800
OF 3C00 - N\A
2-7
Register 3 in the VDP contains the starting address fo r the Color Table.
• M a x im u m n u m b e r f o r 4 K R A M S
2-8
(R 3)* 40(16) STARTING ADDRESS (Concluded)
2-9
Register 4 in the VDP contains the starting address fo r the Pattern Generator Sub-block.
START
R4 ADDRESS
00 0000
01 0800 - Max # fo r 4K RAMS
02 1000
03 1800
04 2000
05 2800
06 3000
07 3800 - Max # fo r 16K RAMS
Register 5 in the VDP contains the starting address fo r the Sprite A ttrib u te Table.
M a x im u m n u m b e r fo r 4 K R A M S
2-10
Register 6 contains the value fo r the starting address o f the Sprite Pattern Generator sub-block.
STARTING ADDRESS = R6 *< 8 0 0
START
R6 ADDRESS
00 0000
01 0800 - # fo r 4K DRAMS
02 1000
03 1800
04 2000
05 2800
06 3000
07 3800 - # for 16K RAMS
The status register may be read at any time to test the F, C, and 5S status bits. Reading the status register will clear the
interrupt flag, F. However, asynchronous reads will cause the frame flag (F) bit to be reset and therefore missed. Conse
quently, the status register should be read only when the VDP interrupt is pending.
Note that the status register needs to be read frame by frame in order to clear the interrupt and receive the new interrupt of
the next frame.
The VDP checks each pixel position for coincidence during the generation of the pixel regardless of where it is located on
the screen. This occurs every 1 /60th of a second for the TMS9918A and TMS9928A and every 1 /50th of a second for the
TMS9929A. Thus, when moving sprites more than one pixel position during these intervals, it is possible for the sprites to
have multiple pixels overlapping or even to have passed completely over one another when the VDP checks for coin
cidence.
2-11
2.4 VIDEO DISPLAY MODES
The VDP displays an image on the screen that can best be envisioned as a set of display planes sandwiched together.
Figure 2-4 shows the definition of each of the planes. Objects on planes closest to the viewer have higher priority. In cases
where tw o entities on tw o different pianes are occupying the same spot on the screen, the entity on the higher priority
plane will show at that point. For an entity on a specific plane to show through, alt planes in front of that plane must be
transparent at that point. The first 32 planes (Figure 2-5) each may contain a single sprite. The areas o f the Sprite Planes,
outside of the sprite itself, are transparent. Since the coordinates of the sprite are in terms of pixels, the sprite can be p〇s>"
tioned and moved about very accurately. Sprites are available in three sizes: 8 x 8 pixels, 16 x 16 pixels, and 32 x 32
pixels.
Behind the Sprite Planes is the Pattern Plane. The Pattern Plane is used for textual and graphics images generated by the
Text, Graphics I, Graphics II, or Multicolor modes. Behind the Pattern Plane is the backdrop, which is larger in area than
the other planes so that it forms a border around the other planes. The last and lowest priority plane is the External VDP
Plane. Its image is defined by the external VDP input pin which allows the TMS9918A to mix the external video signal
internal to the chip.
This mixing must occur outside o f the chip for the TMS9928A and TMS9929A. This is achieved through the color
ference outputs swinging to a special level (sync level is shown in Figure 2-6) not used by the color difference signals in
normal operation. This occurs when bit 7 of Register 0 is set high. External mixing circuitry is required to detect this change
in the level of the color difference signals and then switch from the VDP signals to an external source's signals (see Figures
2-7 and 2-8).
BLACK
E X TER N AL
V D P IN PU T
SPRITES
(OBJECT-ORIENTED)*
2-12
PATTERN OR
MULTICOLOR
plan e
SPRITE 31
SPRITE 8
SPRITE 0
2-14
FIGURE 2-7 - USING COLOR DIFFERENCE SIGNALS TO M IX EXTERNAL COLOR DIFFERENCE TYPE SOURCE
VDP COLOR
2-15
The backdrop consists of a single color used for the display borders and as the default color for the active display area. The
default color is stored in the VDP Register 7. When the backdrop color register contains the transparent code, the
backdrop automatically defaults to black if the external VDP mode is not selected.
The 32 Sprite Planes are used for the 32 sprites in the Multicolor and Graphics modes. They are not used in the Text mode
and are automatically transparent. Each of the sprites can cover an 8 x 8 ,1 6 x 16, or 32 x 32 pixel area on its plane. Any
part of the plane not covered by the sprite is transparent. All or part of each sprite may also be transparent. Sprite 0 is on
the outside or highest plane, and sprite 31 is on the plane immediately adjacent to Pattern Plane. Whenever a pixel in a
Sprite Pfane is transparent, the color of the next plane can be seen through that plane. If, however, the sprite pixel is non
transparent, the colors of the lower planes are automatically replaced by the sprite color.
There is also a restriction on the number of sprites on a line. Only four sprites can be active on any horizontal line. Addi
tional sprites on a line will be automatically made transparent for that line. Only those sprites that are active on the display
will cause the coincidence flag to set. The VDP status register provides a flag bit and the number of the fifth sprite
whenever this occurs. The Pattern Plane is used in the Text, Multicolor, and Graphics modes for display of the graphic pat
terns of characters. Whenever a pixel on the Pattern Plane is nontransparent, the backdrop color is automatically replaced
by the Pattern Plane color. When a pixel in the Pattern Plane is transparent, the backdrop color can be seen through the
Pattern Plane.
The VDP has four video color display modes that appear on the Pattern Plane: Graphics I mode, Graphics tt mode. Text
mode, and Multicolor mode. Graphics i and Graphics II modes cause the Pattern Plane to be broken up into groups of 8 x
8 pixels, called pattern positions. Since the full image is 256 x 192 pixels, there are 32 x 24 pattern positions on the
screen in the Graphics modes.
In Graphics I mode, 256 possible patterns may be defined for the 768 pattern positions w ith tw o unique colors allowed for
each line of a pattern definition. Thus, all 15 colors plus transparent may be used in a single pattern position.
In Text mode, the Pattern Plane is broken into groups of 6 x 8 pixels, called text positions. There are 40 x 24 text posi
tions on the screen in this mode. In Text mode, sprites do not appear on the screen and tw o colors are defined for the
entire screen by VDP Register 7.
In Multicolor mode, the screen is broken into a grid of 64 x 48 positions, each of which is a 4 x 4 pixel. Within each posi
tion, one unique color is allowed.
The VDP registers define the base addresses for several sub-blocks within VRAM. These sub-blocks form tables which are
used to produce the desired image on the TV screen. The Sprite Pattern Generator Table and the Sprite Attribute Table are
used to form sprites. The contents of these tables 巾ust all be provided by the microprocessor. Animation is achieved by
altering the contents of VRAM in real time.
The VDP can display the 15 colors shown in Table 2-3. The VDP colors also provide eight different gray levels for displays
on monochrome television; the luminance value in the table indicates these levels, 0.00 being black and 1.00 being white.
All other values in the table are expressed as percentages of the white/biack voltage swing.
NOTE
The gray levels differ slightly for the TMS9918A when compared to the
TMS9928A/9929A.
Whenever all planes are of the transparent color at a given point, and external video is not
selected, the color shown at that point will be black.
2-16
TABLE 2-3 - COLOB ASSIGNMENTS
TMS9918A TMS9928A/9929A
0 TRANSPARENT 0.00 ■
• • •
ROWO 0 1 30 31
• 雜 #
ROW 1 32 33 62 63
• •
• A C T IV E D IS P L A Y A R E A •
• •
• • •
ROW 23 736 737 766 767
• • 春
2-17
PATTERN
COLOR TABLE
The Pattern Generator Table contains a library of patterns that can be displayed in the pattern positions. It is 2048 bytes
long and is arranged into 256 patterns, each of which is 8 bytes long, yielding 8 x 8 bits. Alt of the 1s in the 8-byte pattern
can designate one color (color 1 ) ,while all the Os can designate another color (color 0).
The full 8-bit pattern name is used to select one of the 256 pattern definitions in the Pattern Generator Table. The table is a
2048-byte block in VRAM beginning on a 2-kilobyte boundary. The starting address of the table is determined by the
generator base address in VDP Register 4. The base address forms the three MSBs of the 14-bit VRAM address for each
Pattern Generator Table entry. The next 8 bits indicate the 8-bit name of the selected pattern definition. The lowest 3 bits
of the VRAM address indicate the row number within the pattern definition.
There are 8 bytes required for each of the 256 possible unique 8 x 8 pattern definitions. The first byte defines the first row
of the pattern, and the second byte defines the second row. The first bit of each of the eight bytes defines the first column
of the pattern. The remaining rows and columns are similarly defined. Each bit entry in the pattern definition selects one of
the two colors for that pattern. A 1 bit selects the color code (color 1 ) contained in the most significant 4 bits of the cor
responding color table byte. A 0 bit selects the other color code (color 0). An example of pattern definition mapping is pro
vided in Figure 2-11.
COLUMN BIT
ROW/BYTE
(PATTERN) (PATTERN DEFINITION)
0 1 2 3 4 5 0 1 2 3 4 5 6 7
0 c c c C C 0 1 1 1 1 1 0 0
1 c 0 0 0 0 0 1 0 0
2 c 0 0 0 0 0 1 0 0
3 c c C c 0 0 1 1 1 1 0 0
4 c 0 0 0 0 0 1 0 0
5 c 0 0 0 0 0 1 0 0
6 c c c C c 0 1 1 1 1 1 0 0
7 0 0 0 0 0 0 0 0
2-18
The color of the 1s and Os is defined by the Pattern Color Table that contains 32 entries, each of which is 1 byte long. Each
entry defines tw o colors: the most significant 4 bits of each entry define the color of the 1s, and the least significant 4 bits
define the color of the Os. The first entry in the color table defines the colors for patterns 0 to 7; the next entry for patterns
8 to 15, and so on. (See Table 2-4 for assignments.) Thus, 32 different pairs of colors may be displayed simultaneously.
The Pattern Name Table is located in a contiguous 768-byte block in VRAM beginning on a 1-kilobyte boundary. The start
ing address of the Name Table is determined by the 4-bit Name Table base address field in VDP Register 2. The base
address forms the upper 4 bits of the 14-bit VRAM address. The lower 10 bits of the VRAM address are formed from the
row and column counters. An example of pattern name table addressing is given in Section 3.3.
0 0 .7 16 128..135
1 8..15 17 136..143
2 16..23 18 144..151
3 24..31 19 152..159
4 32..39 20 160..167
5 40..47 21 168..175
6 48..55 22 176..183
7 56..63 23 184..191
8 64..71 24 192..199
9 72.79 25 280..207
10 80..87 26 208..215
11 88..95 2フ 216..223
12 96..103 28 224.231
13 104..111 29 232.239
14 112..119 30 240..247
15 120..127 31 248-255
Each byte entry in the Name Table is either the name of or the pointer to a pattern definition in the Pattern Generator Table.
The upper 5 bits of the 8-bit name identify the color group of the pattern. There are 32 groups of 8 patterns. The same two
colors are used for all eight patterns in a group; the color codes are stored in the VDP Color Table. The Color Table is
located in a 32-byte clock in VRAM beginning on a 64-byte boundary. The table starting address is determined by the 8-bit
Color Table base address in VDP Register 3. The base address forms the upper 8 bits of the 14-bit Color Table entry VRAM
address. The next bit is a 0 and the lowest 5 bits are equal to the upper 5 bits of the corresponding Name Table entries.
Since the tables in VRAM have their base addresses defined by the VDP registers, a complete switch of the values in the
tables can be made by simply changing the values in the VDP registers. This is especially useful when one wishes to time-
slice between two or more screens of graphics.
When the Pattern Generator Table is loaded with a pattern set, manipulation of the Pattern Name Table contents can
change the appearance of the screen. Alternatively, a dynamically changing set of patterns throughout the course of a
graphics session is easily accomplished since alt tables are in VRAM. A total of 2848 VRAM bytes are required for the Pat
tern, Name, Color and Generator tables. Less memory is needed if all 256 possible pattern definitions are not required; the
tables can be overlapped to reduce the amount of VRAM needed for pattern generation. Examples of VRAM memory
allocation are provided in Section 3.3.
2-19
Generator Table into three equal blocks of 2048 bytes each. Pattern definitions in the first third of the display screen cor
respond to pattern positions in the upper third. Likewise, pattern definitions in the second and third blocks of the Pattern
Generator Table correspond to the second and third areas of the Pattern Plane.
The Pattern Name Table is also segmented into three blocks of 256 names each so that names found in the upper third
reference pattern definitions are found in the upper 2048 bytes in Pattern Generator Table. Similarly, the second and third
blocks reference pattern definitions in the second 2048-byte block and third-2048 byte block, respectively. Thus, if 768
patterns are uniquely specified, an 8-bit pattern name will be used three times, once in each segment of the Pattern Name
Table. The Pattern Generator Table falls on 8-kilobyte boundaries and may be located in the upper or lower half of 16K
memory based on the MSB of the pattern generator base in VDP Register 4. The LSBs must be set to all1s.
The Color Table is also 6144 bytes long and is segmented into three equal blocks of 2048 bytes. Each entry in the Pattern
Color Table is 8 bytes which provides the capability to uniquely specify color 1 and color 0 for each of the 8 bytes of the
corresponding pattern definition. The addressing scheme is exactly like that of the Pattern Generator Table except for the
location of the table in VRAM. This is controlled by the loading of the MSB of the color base in VDP Register 3. The LSBs
must be set to all 1s.
Figure 2-12 illustrates the Graphics H mode mapping scheme* Note that pattern names, P1 r P2, and P3, correspond to pat
tern generator entries in the three blocks of the Pattern Generator Table. Note also how these three names map to the
display screen. Figure 2-13 is an example of a Pattern Generator and Pattern Color Table entry.
P A T T E R N CO LO R
TABLE
2-20
0 3 4 7
ROWO 0 1 0 0 0 0 0 1 B 1 B B B B B 1 1 (BLACK) B (LT. YELLOW) 0 ROW
1 0 0 1 0 0 0 1 0 B B 7 B B B 7 B 7 (CYAN) B (LT. YELLOW) 1
2 0 0 0 1 0 1 0 0 B B B C B C 8 B C (GREEN) B (LT. YELLOW) 2
3 0 0 0 0 1 0 0 0 B B B B E B B B E (GRAY) B (LT. YELLOW) 3
4 0 0 0 0 1 0 0 0 B B B B 8 B B B 8 (MED. RED) B (LT. YELLOW) 4
5 0 0 0 0 1 0 0 0 B B B B 5 8 B B 5 (LT. BLUE) B (LT. YELLOW) 5
6 0 0 0 0 1 0 0 0 B B B B 6 B B B 6 <DK. RED> B {LT. YELLOW) 6
7 0 0 0 0 1 0 0 0 B B B B D 8 B B D {MAGENTA) B (LT. YELLOW) 7
The Multicolor Name Table is the same as that for the graphics modes, consisting of フ68 name entries, although the name
no longer points to a color list. Color is now derived from the Pattern Generator Table. The name points to an 8-byte seg
ment of VRAM in the Pattern Generator Table.
Only 2 bytes of the 8-byte segment are used to specify the screen image. These 2 bytes specify four colors, each color oc
cupying a 4 x 4-pixel area. The 4 MSBs of the first byte define the color of the upper left quarter of the multicolor pattern;
the LSBs define the color of the upper right quarter. The second byte similarly defines the lower left and right quarters of
the multicolor pattern. The 2 bytes thus map into an 8 x 8-pixe! multicolor pattern. (See Figure 2-14).
8 PIXELS
A B
COLOR A COLOR B 8
PIXELS
COLOR C COLOR D
C D
2 BYTES FROM
PATTERN GENERATOR TABLE
MULTICOLOR PATTERN
2-21
The location of the 2 bytes within the 8-byte segment pointed to by the name is dependent upon the screen position where
the name is mapped. For names in the top row (names 0-31), the 2 bytes are the first two within the groups of 8-byte
segments pointed to by the names. The next row of names (32-63) uses the bytes 3 and 4 within the 8-byte segments. The
next row of names uses bytes 5 and 6 while the last row of names uses bytes 7 and 8. This series repeats for the remainder
of the screen.
For example, referring to Figure 2-15 if Name Table entry 0 (pattern position 0) multicolor block #N {name = N)( the
multicolor pattern displayed will be an 8 x 8-pixel block consisting of colors A, B, C, and D which comprise the first two
bytes of the Multicolor Table. If, however, name is located in Name Table entry 33, (Pattern position 33), the colors
displayed will be colors E, F, G, and H as specified by bytes 3 and 4 of the multicolor block pointed to by the name.
Likewise, pattern positions which tie in rows 2 and 3 would cause colors I, J, K, L and colors M, N, O, P, respectively, to
be displayed. Thus, it can be seen that the color displayed from the multicolor generator block is dependent upon pattern
position on the screen. Figure 2-16 illustrates the Multicolor mode mapping scheme.
A B
C 〇
E F
G H
I J
K L
M N
0 P
2-22
A B
ROWO
C D
COLUMN 0
A B
ROWO
C D
E F
ROW1
F G H
E
ROW 1 J
G H ROW 2
K L
M N
ROW 3
0 P
1 J
K ROW 2
L
PATTERN NAME PATTERN GENERATOR
TABLE TABLE VIDEO DISPLAY
M N
ROW 3
0 P
BYTES POINTED TO
BY NAMES
The mapping of VRAM contents to screen image is simplified by using duplicate names in the Name Table since the series
of bytes used within the 8-byte segment specifies a 2 x 8 color square pattern on the screen as a straightforward transla
tion from the 8-byte segment in VRAM pointed to by the common name.
When used in this manner, 768 bytes are still used for the Name Table and 1536 bytes are used for the color information in
the Pattern Generator Table (24 rows x 32 columns x 8 bytes/pattern position). Thus, a total of 1728 bytes in VRAM are
required. It should be noted that the tables begin on even 1K and 2K boundaries and are therefore not contiguous. An ex
ample of multicolor VRAM memory allocation is given in Section 3.3.
0 1 # ♦ # 38 39
# 參 _
40 41 78 79
• • # # #
# 參 A C T fV E D IS P L A Y A R E A 參 镰
• • # •
售 镛 鲁
920 921 958 969
♦ • 春
2-2 3
A s w ith th e G raphics modes, th e Pattern Generator Table contains a library o f te x t patterns th a t can be displayed in th e te xt
p ositions. It is 2 0 4 8 bytes lo n g and is arranged in 2 56 te x t patterns, each o f w h ic h is 8 bytes long. Since each te x t position
on th e screen is o n ly 6 pixels across, th e least s ig n ifica n t 2 b its o f each te x t pattern are ignored, yield in g 6 x 8 bits in each
te x t pattern. Each 8 -b yte b lo ck defines a te x t pattern in w h ich all th e I s in th e te xt pattern take on one co lo r w hen
displayed on th e screen, w h ile all th e Os take on another color. These co lo rs are chosen by loading V D P Register 7 w ith the
co(or 1 and co lo r 0 in th e le ft and rig h t nibbles, respectively (see S e ctio n 2 .2 ).
PATTERN
GENERATOR
TABLE
COLOR 1 COLOR 0
VDP R EG IST ER 7
In th e Text m ode, th e Pattern Name Table determ ines th e p o sitio n o f th e te x t pattern on th e screen as sh o w n in Figure
2 -1 8 . There are 96 0 entries in th e Pattern Name Table, each 1 byte lo n g . There is a o n e -to -o n e correspondence betw een
te x t pattern p o sitio ns on th e screen and entries in th e Pattern Name Table {40 x 24 = 9 6 0 ). The firs t 40 entries corre
spond to th e to p ro w o f te xt pattern positions on th e screen, th e next 4 0 to th e second ro w , and so on. The value o f an
e n try in th e Pattern Name Table indicates w h ic h o f th e 2 5 6 te x t patterns is to be placed at th a t s p o t on th e Pattern plane.
T he Pattern Name Table is located in a co n tig u o u s 9 6 0 -b yte block in V R A M , beginning on a 1-k ilo b y te b o u n d a ry. The
starting address o f th e name table is determ ined by th e 4 -b it name table base address field in V D P Register 2. T he base
address fo rm s th e upper 4 b its o f th e 1 4 -b it V R A M address. The lo w e r 10 b its o f th e V R A M address p o in t to 1 o f 96 0 pat
te rn cells. The name table is organized by row s. A n example o f Pattern Name Table addressing is given in S ectio n 4.
Each byte e n try in th e name ta b le is th e po in te r to a pattern d e fin itio n in th e Pattern G enerator Table. T he same tw o colors
are used fo r all 2 5 6 patterns; th e co lo r codes are stored in VDP Register 7.
A s th e name im plies, th e Text m ode is intended m ainly fo r textual applications, especially those in w h ic h th e 32 patterns-
per-line in Graphics m odes is in su fricie n t. The advantage is th a t eig h t m ore patterns can be fitte d o n to one line; th e disad
vantages are th a t sprites ca n n o t be used, and o n ly tw o colors are available fo r th e entire screen.
W ith care, th e same te x t pattern set th a t is used in T e xt m ode can be also used in G raphics l m ode. T his is done b y ensu r
ing th a t th e least s ig n ifica n t 2 bits o f all th e character patterns are 0. T hu s, a s w itch fro m Text m ode to Pattern m ode
results in a stre tch in g o f th e space betw een characters, and a reduction o f th e num ber o f characters per line fro m 40 to 32.
A s w ith th e G raphics M odes, once a character set has been defined and placed in to the Pattern G enerator, u p d a tin g the
Pattern Name Table w ill p roduce and m anipulate textual material on th e screen.
The fu ll 8 -b it pattern name is used to select 1 o f th e 2 56 pattern d e fin itio n s in the pattern generator table. T he ta b le is a
2 0 4 8 -b y te block in V R A M , beginning on a 2 -kilo b yte boundary. The sta rtin g address o f th e table is determ ined b y the
generator base address in V D P Register 4. The base address fo rm s th e 3 M S B s o f th e 1 4 -b it V R A M address fo r each Pat
tern Generator Table entry. T he next 8 bits are equal to th e 8 -b it name o f th e selected pattern d e fin itio n . T he lo w e st 3 bits
o f th e V R A M address are equal to th e ro w num ber w ith in th e pattern d e fin itio n .
There are 8 bytes required fo r each o f th e 2 5 6 possible unique 6 x 8 pa tte rn d e fin ition s. The firs t byte defines th e firs t row
o f th e p attern, and th e second byte defines th e second ro w . The least s ig n ific a n t 2 bits in each byte are n o t used. H ow ever,
it is stro n g ly recom m ended th a t these bits be 0s. Each b it e n try in th e pattern d e fin itio n selects one o f th e tw o co lo rs fo r
2-24
th a t patte rn . A 1 b it selects th e co lo r code (co lo r 1 ) contained in th e m o st s ig n ifica n t 4 b its o f V D P Register 7 . A 0 b it
selects th e o th e r color code (co lo r 0) w h ic h is in th e least sig n ifica n t 4 b its o f th e same V D P Register. Figure 2 -1 8 is an ex
am ple o f p a tte rn d e fin itio n m apping.
A to ta l o f 3 0 0 8 V R A M bytes are required fo r th e Pattern Name G enerator Tables. Less m em ory is required if all 2 56 possi
ble pattern d e fin itio n s are n o t required; th e tables can be overlapped to reduce th e a m o u n t o f V R A M needed fo r pattern
generation. Examples o f V R A M m em ory allocation are provided in S e ctio n 3 .3 .
2.4.5 S p rite s
T he video display can have up to 32 sprites on th e highest p rio rity video planes. T he sprites are special anim a tio n patterns
w h ic h provide s m o o th m o tio n and m ultilevel pattern overlaying. The lo ca tio n o f a sp rite is defined by th e to p le ft-h a n d co r
ner o f th e s p rite p attern. The sprite can be easily m oved pixel-by-pixel b y redefining th e s p rite o rig in . This provides a sim ple
b u t p o w e rfu l m e th o d o f qu ickly and sm o o th ly m oving special patterns. The sprites are n o t active in th e T e xt m ode. The 32
S p rite Planes are fu lly transparent outside o f th e sprite itself.
T h e su b-blocks in V R A M th a t define sprites are th e S p rite A ttrib u te Table (see Figure 2 -1 9 ) and th e S p rite G enerator Table
(see Section 4 .4 ). These tables are sim ilar to th e ir equivalents in th e pattern realm in th a t th e S p rite A ttrib u te Tabie
specifies w h e re th e sprite goes on th e screen, w h ile th e S prite Generator T able describes w h a t th e sp rite looks like. S prite
Pattern fo rm a ts are given in Table 2 -5 .
BIT
2-25
The s ta rtin g address o f th e ta b le is determ ined by th e 7 -b it S p rite A ttrib u te Table base address in V D P R egister 5 . T he base
address fo rm s th e upper 7 b its o f th e 1 4 -b it V R A M address. The next 5 b its o f th e V R A M address are equal to th e sprite
num ber. The lo w e st 2 b its select 1 o f th e 4 bytes in S prite 2 A ttrib u te Table e n try fo r each sprite. Each ta b le e n try contains
4 bytes w h ic h specify th e sp rite positio n, sprite pattern name, and colo r, as sh o w n in Figure 2 -1 9 .
VRAM
GENERATOR
TABLE
T he firs t tw o bytes o f each e n try o f th e S prite A ttrib u te Table determ ine th e p o sitio n o f th e sp rite on th e display. The firs t
byte indicates th e vertical distance o f th e sprite fro m th e to p o f th e screen, in pixels. It is defined such th a t a value o f ~ 1
p u ts th e sprite b u tte d up at th e to p o f th e screen, to u c h in g th e b ackdrop area. The second byte describes th e horizontal
displacem ent o f th e sp rite fro m th e le ft edge o f th e display. A value o f 0 b u tts th e sprite up against th e le ft edge o f th e
backdrop. N ote th a t alt m easurem ents are taken fro m th e upper le ft pixel o f th e sprite.
The displacem ent in th e firs t byte is partially signed, in th a t values fo r vertical displacem ent betw een - 3 1 and 0 (E 116 to
0) a llo w a sprite to bleed-in fro m th e to p edge o f th e backdrop. S im ilarly, horizontal displacem ent values in th e v ic in ity o f
2 5 5 a llo w a sprite to bleed-in fro m th e rig h t side o f th e screen. T o a llo w sprites to bleed-in fro m th e le ft edge o f th e
backdrop, a special b it in th e th ird byte o f th e S p rite A ttrib u te Table e n try is used.
B yte 3 o f th e S p rite A ttrib u te Table e n try contains th e p o in te r to th e S p rite G enerator Table th a t specifies w h a t th e sprite
sh ould lo o k like. T his is an 8 -b it p o in te r to th e sprite patterns d e fin itio n , th e S p rite G enerator Table. T h e sp rite name is
sim ilar to th a t in th e G raphics M odes.
B yte 4 o f th e S p rite A ttrib u te Table e n try contains th e co lo r o f th e sprite in its lo w e r 4 b its (see Table 2 -3 fo r co lo r
assignm ents). T he M S B is th e Early C lock (EC) b it. W h e n set to 0 , th is b it does n o th in g . W h e n set to 1 , th e horizontal
p o sitio n o f th e sp rite is sh ifte d to th e le ft b y 32 pixels. This allow s a sprite to bleed-in fro m th e le ft edge o f th e backdrop.
Values fo r horizontal displacem ent (byte 2 in th e entry) in th e range 0 to 32 cause th e sprite to overlap w ith th e left-h a n d
border o f th e backdrop.
The S p rite G enerator Table is a m axim um o f 2 0 4 8 bytes long beg inn in g on th e 2 -k ilo b y te boundaries. It is arranged into
2 5 6 blocks o f 8 bytes each. The th ird byte o f th e S p rite A ttrib u te Table entry, then specifies w h ic h 8 -b y te b lo ck to use to
specify a sprite's shape. T he 1 s in th e S p rite Generator cause th e sprite to be d efined a t th e p o in t; Os cause th e transparent
co lo r to be used. The sta rtin g address o f th e table is determ ined b y th e sprite generator base address in V D P R egister 6.
The base address fo rm s th e 3 M S B o f th e 1 4 -b it V R A M address. T he next 8 bits o f th e address are equal to sprite name,
and th e last 3 b its are equal to th e ro w num ber w ith in th e sprite p attern. The address fo rm a tio n is s lig h tly m o d ifie d fo r
SIZE^ sprites.
There is a m axim um lim it o f fo u r sprites th a t can be displayed on on e horizontal line. If th is rule is vio la te d, th e fo u r highest-
p rio rity sprites on th e line are displayed norm ally. The fifth and subsequent sprites are n o t displayed on th a t line. F urther
m ore, th e fifth -s p rite b it in th e V D P status register is set to a 1 , and th e num ber o f th e v io la tin g fifth sp rite is loaded in to the
status register (see S ection 2 .3 ).
2-26
Larger sprites than 8 x 8 pixels can be used if desired. The M A G and SIZE b its in V D P register 1 are used to select th e
various o p tio n s described in th e fo llo w in g paragraphs.
M A G = 1,SIZE = 0 The S p rite Generator Table uses 8 bytes to describe th e sprite; how ever, each b it in th e
S p rite G enerator maps in to 2 x 2 pixels on th e T V screen, e ffe ctive ly d o u b lin g th e size o f
th e sprite to 16 x 16.
M A G = 0,S IZ E = 1: T he S p rite G enerator Table uses 31 bytes to define th e sp rite shape; th e resu lt is a 16 x
16-pixel sprite. T he m apping o f th e 32 bytes in to th e sp rite im age is as s h o w n in Figure
2 -2 1 . M apping is still 1 b it to 1 pixel.
The V D P provides sprite coincidence checking. The coincidence status flag in th e V D P sta tu s register is set to a 1
w henever tw o active sprites have 1 bits a t th e same screen loca tio n.
S p rite processing is term inated if th e V D P fin d s a value o f 20 8 (D 0 1 6) in th e vertical p o sitio n fie ld o f a ny e n try in th e S p rite
A ttrib u te Table. T his perm its th e S p rite A ttrib u te Table to be shortened to th e m in im u m size required; it also perm its th e
user to blank o u t p a rt o r atl o f th e sprites b y sim ply changing o ne b yte in V R A M .
A to ta l o f 2176 V R A M b ytes are required fo r th e S prite Name and Pattern G enerator Tables. S ig n ific a n tly less m em ory is
required if all 2 5 6 possible sp rite pattern d e fin itio n s are n o t required. T h e S p rite A ttrib u te Table can also be shortened as
described in th e preceding paragraph. The tables can be overlapped to reduce th e a m o u n t o f V R A M required fo r sprite
generation. Examples o f V R A M m em ory allocation are provided in S ectio n 3 .3 .
2-27
VRAM
GENERATOR TABLE
BLOCK
BYTE
00
01
02 PATTERN
03 SCREEN DISPLAY
FOR
04
QUADRANT A
05
06
QUADRANT QUADRANT
0フ
A C
08
09 QUADRANT QUADRANT
0A PATTERN B D
OB FOR
OC QUADRANT B
OD
06 SPRITE PATTERN
OF
SIZE 1
16x16 IMAGO)
32x32 (MAG1)
10
11 PATTERN
12 FOR
13 QUADRANT C
14
15
16
17
18
19
1A PATTERN
IB FOR
1C QUADRANT D
ID
IE
IF
2-28
2.4.6 A Step-by-Step Approach to Create Patterns and Sprites
PATTERNS
1• Use an 8 x 8 pattern sim ilar to th a t in Figure A . Each smaH square represents one pixel on th e screen.
FIGURE A
2. FiU in th e blocks to create yo u r te x t character o r graphics p a tte rn . Examples o f th e le tte r A and an A R R O W are
sh o w n in Figures B and C.
FIGURE B FIGURE C
N O TE
If these patterns are to be used in th e T e xt m ode, (40 patterns per line), th e p a tte rn should
be inside a le ft-ju stifie d 6 x 8 block like th e A sh ow n in Figure B. If a(t o f th e T ext patterns
are inside th is 6 x 8 block, th e y can be used fo r Text and Graphics 1 and 2 modes.
2-29
3. A ssign 1s to th e fille d -in areas and Os to th e blanks. Then co n ve rt th e 1s and Os to th e ir hexadecim al equivalents, as
s h o w n in Figure D.
|~ I~ =00100000 s 20(16)
一 =01010000 =50(16)
_ =10001000 =88(16)
=10001000 » 88(16)
= 11111000 * F8{16)
» 10001000 s 88(16)
— = 10001000 = 88(16)
» I =00000000 s 00(16)
=〇 〇 (16)
* 〇 〇 (16)
= 04(16)
= 0 6 (1 6 )
= FF(16)
= 06(16)
*0 4 (1 6 )
s〇 〇 {16)
58 8 〇(1 6 )
= C 0 (1 6 )
= 8 0 (1 6 )
= 0 0 (1 6 )
= 8 0 (1 6 )
= C 0 (1 6 )
* 8 0 (1 6 )
* F C ( !6 )
FIGURE D
2-30
m
e
) th e P attern G enerator Table. A ssum e th e Pattern G enerator
l
n9 th
il
N o w place th e e ig h t byte pa tte
tte rn is to be nam ed 〇〇-| g ■T hen place th e e ig h t p a tte rn b ytes as
he arr
Jt
TaWe su b -b lo ck is located ca pa
fo llo w s :
的
0
1
80
2
80
6
3
抑
80 PATTERN
的
4
NAME 00
6
56 7
M
80
80
80
8
80 く
9
80
A
80
80
B
PATTERN
80
C
80 NAME 01
D
80
E
8,
90
F
90
O
90
i
90
o
0
1
90
90
2
90 PATTERN
3
如
90
紉如
NAME 20
如
如
4
紉紉
56
7
名
8
,
8
,
9
,
A
的
,
B
,
C PATTERN
£
,
D
88 > NAME 41
的的
re
W h e n using te x t in vo
its A S C II n um ber l<
Example: A S C II SPACE = 20
16
A ^
巧
8 = 42
C : 43
Etc.
:
th
p
1
te
This sim plifies w ritin g te xt to th e t b,e
, ウn a ic e h n w n in o a tte rn name 4 1 .
ator Ta
osi
A space character is sh o w n in Pat
231
SPRITES
1. D eterm ine w h e th e r to use 8 x 8 or 16 x 16 sprite patterns. Then use th e appro p ria te w o rk p a tte rn , as s h o w n in
Figures E and F.
FIGURE E FIGURE F
FIGUREG FIGURE H
2-32
3. N ext encode th e sprite p a tte rn s as in th e Pattern Section. The 8 x 8 sprite encodes exactly as th e 8 x 8 patte rn , b u t
th e 1 6 x 1 6 sprite encodes as sh o w n in Figure J .
= FF
= FF
=00
=00
= FO
= F8
« F8
= F8
81
= F8
42
-F8
24
= F8
18
*1 8
18
=18
24
=18
42 = F8
81 = FO
FIGURE I FIGURE J
Break the 16 x 16 block pattern in to fo u r 8 x 8 patterns. Next, encode th e 8 x 8 patterns s ta rtin g in th e upper le ft
corner, then do th e lo w e r le ft, upper rig h t, and low er right.
2-33
4. Place th e 8 bytes fo r 8 x 8 sprites or 32 bytes fo r 16 x 16 sprites in th e S p rite G enerator Table. A ssu m in g th e sprite
generator table is located at location 0 0 0 0 , Figures K and L s h o w h o w th e tables should look fo r 8 x 8 and 1 6 x 1 6
sprites.
8X8
0
0
00000000000000001111111111111112
000 81
1
000000
001 42
2
002 24 30
3
003 18 SPRITE 30
4
004 18 NAME 00
5
005 24
6
006 42 3F UPPER LEFT
F
3
^
7
007 81 CORNER
00000
8
008 <
3
F
9
009
a b c d e f o i
00A SPRITE
OOB NAME 01
OOC
^
OOD LOWER
000000000000000000
OOE LEFT SPRITE
OOF CORNER NAME 00
010
2
3
l
FIGURE K
4
F0
F
8
5
UPPER
8 8
6
RIGHT
7
8 CORNER
8
a b c d e f o
F8
8 8
1
1
LOWER
8
1
RIGHT
8
CORNER
o
SPRITE
NAME 04
FIGURE L
1 6 x 1 6 sprite patterns sta rt in th e table w ith th e byte fro m th e up p e r left-h a n d corner. Then sta rt w ith th e upper
rig h t, g oing to w a rd th e low er right.
2-34
3. V D P 丨 NTERFACES A N D OPERATION
3.1 V D P /V R A M IN T E R F A C E
The V D P can access up to 16,384 bytes o f V R A M using a 14-b it V R A M address. The V D P fetches data fro m th e V R A M in
o rd e r to process th e video image described later. The VDP also stores data in o r reads in data fro m th e V R A M d u rin g a
C P U -V R A M data transfer. The VDP autom a tica lly refreshes th e V R A M .
3.1.1 V R A M In te r fa c e C o n tro l S ig n a ls
3.1.2 V R A M M e m o ry T ypes
The VDP can use 4 0 2 7 -typ e 4 K , 4 1 0 8 -ty p e 8K , o r 4 1 16-type 16K dynam ic R A M s. The 4 / 1 6K b it in V D P register 1 is a 0
fo r 4 0 2 7 -ty p e R A M s and a 1 fo r 4 1 0 8 - and 4 1 1 6 -typ e R AM s. There is a m in o r diffe re n ce betw een th e w a y 4 0 2 7 s and
4 1 0 8 s /4 1 16s are w ire d to th e V D P . In th e 4 0 2 7 , all CE p ins are tie d to g ro u n d . In th e 4 1 0 8 /4 1 1 6 th e A 6 lines on th e 41 1 6
and 4 1 0 8 (the same pin as CE on 4 0 2 7 's) are all tied to AD1 on th e T M S 9 9 1 8 A . A ju m p e r can be used to select th e V R A M
type.
3.1.3 V D P to D R A M A d d re s s C o n n e c tio n s
The V D P can be easily connected to either th e 4027 or 4 1 1 6 D R A M s. H ow ever, due to d iffe re n t pin num bering standards,
it is possible to co n n e ct th e V D P to th e D R A M s incorrectly. Table 3-1 sh o w s th e recom m ended w a y to co n n e ct a V D P to
eith e r D R A M . O ther D R A M s, such as th e single + 5 V su pply type, can also be used b y fo llo w in g th e 4 K o r 16K co lum ns in
T able 3 -1 .
4116 4027
VDP o r 16K o r 4K
ADO D A T A ONLY D A T A O N LY
AD1 A6 D A T A O N LY
AD2 A5 A5
AD3 A4 A4
AD4 A3 A3
AD5 A2 A2
AD6 A1 A1
AD7 A0 A0
N O TE
CD0 is th e M S B o f th e CD bus; C 0 7 is th e LS B.
ADO is th e M S B o f the A D bus; A D 7 is th e LS B.
RD0 is th e M S B o f th e RD bus; RD7 is th e LSB.
R A M s have th e reverse convention.
A D 7 is th e M S B o f th e A D bus, and ADO is th e LSB.
3-1
I
Is Is
lA
♦
R
へ
夺 Ca 5
I " C DD
W
7
RDR
Q
DD
R
6
DR
DD
AD7
RRRRR
D
5
A 0 -A 6
y o
4
<
3
6纪
s
m
2
o
G
1
/ V
y d
0
S
S
A
G
V
/ V
i d
7
AAAADDDDDDD
00
s
L 6 6 S IA I l
T?7!S
6
i a
i 卜 CSS
0
i 卜 味
3
W
4
a
to
H
l >
Q
3
AAA
AD2 5
D
2
1
A 0 -A 6
H
0
A
R^S
Sa 5
(卜 w
CO
Q
AD1
D
A 0 -A 6
R a §
Ca S
rr. %
W
Q
n
u
A 0 -A 6
3 -2
3.2 VRAM MEMORY ADDRESS DERIVATION
Table 3 -2 sum m arizes th e V R A M address derivation fo r all VDP m odes o f operation. S ectio n 4 o f th is m anual contains
examples o f h o w typical V R A M addresses are com puted by th e VDP.
3-3
TABLE 3-2 - PATTERN GRAPHICS ADDRESS LOCATION TABLES (CONTINUED)
The T M S 9 9 1 8 A /9 9 2 8 A operates at 26 2 lines per fram e and a pproxim ately 60 fram es per second in a noninterlaced m ode
o f o peration. The T M S 9 9 2 9 A operates at 3 13 lines per fra m e and approxim ately 50 fram es per second in a noninterlaced
m ode o f operation.
3.3 V R A M A D D R E S S IN G E X A M P L E
A typical application m ig h t require up to 25 6 unique 8 x 8 p a tte rn s w ith no m ore than 2 colors per p a tte rn and up to 32
8 x 8 sprites.
These co n d itio n s d ic ta te in w h ic h m ode th e V D P is to be used. The sprite requirem ent and th e 8 x 8 pattern blocks
elim inate th e te x t and m u ltic o lo r m odes, respectively. This leaves o n ly th e G raphics I and G raphics II m odes, and since tw o
colors per block are all th a t are necessary, Graphics I is em ployed due to its ease o f use.
Figure 3-2 show s a m em ory map th a t allow s these fu n c tio n s to f it in to a 4 K m em ory area.
3-4
0000 I f th e same a p p lic a tio n re q u ire d 16 x 16 b it sprites, th e n th e
SPRITE 3 2 8 X 8 PATTERNS m e m o ry m ap c o u ld be m o d ifie d as fo llo w s :
GENERATOR =256 BYTES
TABLE
OOFF 0000
SPRITE 32 1 8 X 1 6 SPRITES
0100 GENERATOR 32 SPR X 3 2 BYTES
SPRITE 32 SPRITES X 4 BYTES
ATTRIBUTE = 80 BYTES TABLE » 1024 BYTES
03FF
TABLE
017F 0400
PATTERN
0180 24 LINES X 32 CHAR
UNUSED NAME
=768 CHAR
01FF TABLE
06FF
0200 0700
COLOR SPRITE 32 SPRITES X 4 BYTES
32 BYTES ATTRIBUTE
TABLE =128 BYTES
021F TABLE
073F
0220
0740
UNUSED COLOR
03FF 32 BYTES
TABLE
0400
PATTERN 24 LINES X 32 CHARACTERS 075F
NAME = 768 BYTES 0760
TABLE UNUSED
06FF
0700 0800
UNUSED PATTERN 256 PATTERNS X 8 BYTES
07FF GENERATOR EACH = 2048 BYTES
0800 SUB-BLOCK
PATTERN 256 PATTERNS X 8 BYTES/PATTERN OFFF
GENERATOR =2048 BYTES
SUBBLOCK
OFFF
3.4 M O AM TO R 丨N T E R F A C E S
3.4.1 T M S 9 9 1 8 A M o n it o r In te rfa c e
The co m p o site video o u tp u t signal fro m th e T M S 9 9 1 8 A drives a co lo r m o n ito r. T his signal in corporates all necessary
horizontal and vertical synchronization signals as w ell as lum inance and chrom inance in fo rm a tio n . In m o n ito r applications,
th e requirem ents o f th e m o n ito r s hould be studied to determ ine if th e V D P can be connected d ire ctly to it. T he internal o u t
p u t b u ffe r device on th e com posite video pin is a so u rce -fo llo w e r M O S tra n sisto r th a t requires an external p u ll-d o w n
resistor to V c o as sh o w n in Figure 3 -3 . T ypically a 3 3 0 -o h m resistor is recom m ended to p rovide a 1 .9 -v o lt synchronization
level. The loaa resistor (RL) defines th e sharpness o f th e edges on th e video signals. A lo w e r resistor value gives faster fall
tim es and a sharper picture.
In som e cases, it m ay be necessary to provide a sim ple interface circu it to m atch th e V D P o u tp u t voltages w ith th e m o n ito r
specifications. T o drive a standard television th a t is n o t o u tfitte d w ith a com p o site video in p u t, th e signal can be run in to
th e television antenna term inals by using an appropriate RF m o d u la to r on th e V D P o u tp u t. Take care to ensure a proper
m atch betw een VD P, RF m o d u la to r, and TV.
3-5
3.4.2 TMS9928A/9929A Monitor Interface
The Y , R-V and B -Y o u tp u t signals require external encoder c irc u itry to drive a video co lo r m o n ito r; an R-G-B m atrix cir
c u itry is required to drive R-G-B co lo r m onitors. The Y o u tp u t signal co n ta in s all necessary h o rizo n ta l and vertical syn-
chronization signals as w e ll as lum inance w h ile th e R-Y and B -Y signals c o n ta in th e unm od u la te d ch ro m in a n ce in fo rm a tio n
and are used in th e N TS C and PAL system s to m odulate tw o carriers in quadrature. The internal o u tp u t b u ffe r devices on
these pins are s o u rce -fo llo w e r M O S transistors th a t require an external p u ll-d o w n resistor to V e〇 / as s h o w n in Figure 3-4.
A 330 ohm resistor is recom m ended.
VDP CRYSTAL
RGB
ENCODER/ B
DRIVER
SYNC
(OPTIONAL)
RGB MONITOR
BURST CRYSTAL
VDP CRYSTAL (4.43 MHZ TMS9929AJ PAL
10.738 MHz (adjustable) color (3.58 MHZ TMS9928A) NTSC
3-6
3.5 TMS9918A EXTERNAL VDP OPERATION
The external V D P interface allow s cascading m u ltip le VDPs. Figures 3 -5 and 3 -6 illu stra te cascading tw o VD P s. N ote th a t
th e VD P s m u st be reset b y a com m on reset source to assure synchronization on an open lo o p basis. T his reset source
sh ould have fa s t edges so th a t rise and fall tim es are less than 30 ns. O ccasionally, syn ch ro n iza tio n is n o t obtained after
reset, in w h ic h case, reset should be reapplied.
T he video m atching circu it ensures th a t th e video signal o f external VD P is biased co rre c tly and o f th e pro p e r am plitude.
This ensures th e lum inance levels o f th e external and VDP colors are m atched and external V D P video does n o t bleed
th ro u g h in to th e com posite video o u tp u t o f th e firs t VD P. The internal c irc u it assures th a t a p e rfe ct m atch results if th e
external video is o f th e same am plitude as th e com posite video o f th e V D P and its d c level is increased b y a M O S threshold
voltage (typically 0 .7 vo lts). This a d justm ent can be varied to change th e relative lum inance levels o f th e tw o video signals
and th u s m o d ify th e pictu re appearance.
FROM
RESET
SOURCE
3-7
For th e External VD P in p u t plane to be visible, th e External V D P Enable b it in VDP Register 0 (EXVID) sh o u ld be set to a 1,
The backdrop co lo r (VD P Register 1 , low er 4 bits) sho u ld be set to transp a re n t (0). For th e external V D P plane to show
th ro u g h a t a given s p o t on th e screen, th e pattern co lo r a t th a t s p o t sh o u ld be transparent, and all sprite s sh o u ld n o t be ir\
th e w a y (alternatively, a sprite th a t w as in th e w a y could be made transp a re n t in color). N ote th a t th e external V D P feature
can be used in either G raphics I, Graphics II, Text, o r M u ltic o lo r m ode.
T able 3-3 gives th e relative c o u n t values o f th e screen display param eters. W ith in th e active display area d u rin g G raphics 1
m ode, th e three LSBs o f th e horizontal cou n te r address th e individual p ictu re elem ent o f each p a tte rn displayed. A lso , d u r
ing th e vertical active display period, th e three LSBs o f th e vertical c o u n te r address each individual line in th e 8 x 8 p a t
tern s. The G raphics II, M u ltic o lo r and T ext m odes use th e counters sim ilarly.
The T M S 9 9 1 8 A /9 9 2 9 A operates a t 2 62 lines per fram e and a pproxim ately 60 fram es per second in a n oninterlaced m ode
o f o peration. T he T M S 9 9 2 9 A operates at 31 3 lines per fra m e and a pproxim ately 50 fram es per second in a noninterlaced
m ode o f o peration.
PATTERN OR
HORIZONTAL TEXT
MULTICOLOR
342 342
VERTICAL LINE
262
3-8
3.7 VDP TERMINAL ASSIGNMENTS
XTAL1,
X T A L2 4 0 ,3 9 10.7 + M H z crystal in p u ts * RAS 1 40 X T A L2
CAS 2 39 XTA し 1
CPUCLK 38 VDP co lo r b u rst fre q u e n cy clock. AD7 3 38 CPUCLK
T ypically not used on th e AD6 4 37 GROMCLK
T M S 9 9 1 8 A , th is is th e co lo r b u rst AD5 5 36 COMVID
fre q u e n cy clock. AD4 6 35 EXTVDP
AD3 7 34 ] RESET/SYNC
G R O M CLK 37 VD P o u tp u t clock X T A L /2 4 . AD2 8 33 V CC
T ypically n o t used. AD1 9 32 3 RDO
ADO 10 31 RD1
C O M V ID 36 C om posite video o u tp u t fo r the R/W 11 30 RD2
TM S9918A. V SS 12 29 〕 RD3
MODE 13 28 ] RD4
EXTVDP 35 On th e T M S 9 9 1 8 A , th is is th e exter CSW 14 21 ] RD5
nal V D P in p u t. CSR 15 26 〕 RD6
INT 16 25 〕 RD7
▽ CC 33 + 5 v o lt su pply
32
RDO M S B 31 V R A M read data bus
RD1 30
RD2 29
RD3
28
RD4
27
26
RD5
25
RD6 24
RD7 23
CDO M S B 22 /0
/0 CPU data bus; (CDO) is th e m o st sig n ifica n t bit
CD1 21 /0
/0
CD2 20 /0
/0
/0
19 /0
o
CD3
CD4
18
17
I
CD5
16
CD6 15
I
CD7 LSB 14
13
I
CPU in te rru p t o u tp u t.
3-9
TMS9918A Terminal Assignments {continued)
ADO MSB 10 0 VRAM address/data bus (multiplexed high and low order
VRAM address and output data bytes)
AD1 9 0 ADO is the most significant bit and is used only for data and
not for addressing.**
AD2 8 0
A03 7 0
AD4 6 0
ADS 5 0
AD6 4 0
AD7 3 0
3-10
3.7.2 TMS9928A/9929A Terminal Assignments
XTAL1,
X T A L2 4 0 ,3 9 10.7 + M H z crystal in p u ts * RAS 1 40 } XTAL2
CAS 2 39 XTAL1
R-Y 38 V D P co lo r b uret fre q u e n cy clo ck. On AD7 3 38 R-Y
th e T M 5 9 9 2 8 A /9 9 2 9 A , th is is th e AD6 4 37 ] GROMCLK
R-Y co lo r difference o u tp u t. AD5 5 36
ACM 6 35 3 B-Y
GRO M CLK 37 VDP o u tp u t clock X T A L /2 4 . AD3 7 34 ) RESET/SYNC
T ypically n o t used. AD2 8 33 V CC
ADI 9 32 RDO
Y 36 C om posite video o u tp u t. On th e ADO C to 31 RD1
T M S 9 9 2 8 A /9 9 2 9 A , th is is th e Y R/W t 30 RD2
(b la c k /w h ite lum inance and co m V ss [ 12 29 RD3
posite sync) o u tp u t. MODE 13 28 RD4
CSW [ 14 21 3 RD5
B-Y 35 External VD P in p u t. On th e CSH 1b 26 RD6
T M S 9 9 2 8 A /9 9 2 9 A , th is is th e B-Y INT 16 2& 3 RD7
co lo r difference o u tp u t. CD7 17 24 ] CDO
CD6 [ 18 23 3CD1
RESET/ CD5 19 22 ]C D 2
SYNC 34 T he RESET pin is a trilevel in p u t pin. C04【 ?0 3C 03
W h e n it is b e lo w 0 .8 v o lts , RESET
initializes th e V D P . W h e n it is above
9 vo lts, RESET is th e syn ch ro n izin g
in p u t fo r external video.
33 + 5 v o lt su pply
cc
0 1 2 3 4 5 ¢¢7
^
31
D
30
D
29
^
28
D
27
01 26
0
25
Ls 23 I/O
22
S
CD2 I/O
21 I/O
CD4 20 I/O
CD5 19 I/O
CD6 18 I/O
CD7 17 I/O
16 0 CPU in te rru p t o u tp u t.
ic
3-11
S IG N A T U R E T E R M IN A L I/ O D E S C R IP T IO N
▽ SS 12 I G round References
R /W 0 V R A M w rite stro b e
3.7.3 T M S 9 9 1 8 A /9 9 2 8 A /9 9 2 9 A C ry s ta ls
NDK
10080 N o rth W o lfe Rd
S uite 220
C uppertino, C A 95014
Telephone:
(408)255-0831
Telex: 3520 5 7
3-12
DEVICE APPLIC A TIO N S
This section describes th e hardw are and so ftw a re interface betw een a T M S 9 9 1 8 A /9 9 2 8 A /9 9 2 9 A V D P and a T M S 9 9 0 0
m icroprocessor. S om e considerations in th e use o f th e V D P fo r te x t and graphics a pplications are also described.
CSR =A0*A13*DBIN
CSW =A0*WE
VVE _ h x > — _ I~ V
____ p -------------- CSW
A0
A13 ~ v CSR
nciiu
TMS9918A VDP
TMS9900 CPU
A14 MODE
CD7 KAJi
D6 D6
D5 D5
D4 D4
D3 D3
D2 no
ul ni
fsr\r\
し uu
pnn
し uu
DBIN and W E are signals fro m th e T M S 9 9 0 0 w h ic h indicate d ire ctio n flo w on th e data bus. DBIN is high w h e n th e CPU is
a tte m p tin g to do a read data operation, w h ile W E is lo w w h e n th e CPU is o u tp u ttin g data o n to th e data bus.
AO is used as a VDP select signal. Thus, th e V D P is activated w henever th e CPU is reading o r w ritin g data in th e upper half
o f its address space 0 8 0 0 0 and above}. A ll addresses above > 8 0 0 0 th e n becom e V D P p o rt addresses. H ow ever, in a
m ore sophisticated design, m ore decoding o f th e address lines w o u ld be done to select o n ly those un iq ue addresses
required b y th e V DP. The purpose o f A 1 3 and decoding logic is to generate unique addresses fo r read and w rite operations
and to b lo ck o u t th e read data operation th a t occurs on th e T M S 9 9 0 0 before a w rite data o p e ra tio n . W ith o u t th is b io c k o u t
logic, a pulse on th e CSR in p u t w o u ld o ccu r before any desired pulsing o f th e C S W in p u t, th u s causing u n w a nte d opera
tio n o f th e VDP. Referring to Table 4-1 and Figure 4 -1 , th e fo llo w in g p o rt addresses can be defined.
4-1
4.2 TMS9918A/9928A/9929A INTERFACE
Figures 4 -2 and 4 -3 s h o w th e hardw are com ponents necessary to make th e V D P operate w ith a typ ica l T M 9 9 0 16 -b it bus
application. T he CPU can be connected as s h o w n to any general-purpose 8 -b it data bus and co n tro l signals th a t w o rk w ith
m o st m icroprocessors. The V D P interface tim in g is sim ilar to th a t o f sta tic m em ories and o ccupies e ig h t u n iq u e m em ory
address locations w ith in th e CPU m em ory address space.
AU8
A12B
A t1 6
BO ARD SEL
MEMEN B
A14B
WEB
0 6 IN 6
D tR S E L
I/O RESET
4-2
+5V
U1
2 |S w 3
57 >
R2
U1
4 fS ^ 5
58 >
R3 5
&
A2
59 >
R4 ^ 9
U1
60 >
A3
A4
U1 {>
10 卜 、
1 2 t S ^ 11
9
61 >
R6 2 Ai
> し_
A5 1 4 p ^ 13
62 >
11
U2, +5
A6 2 3
63 >
R8 : ; BO ARD
U2 < SELECT
A7 4 5
64 >
R9
A8
65 >
U2 m
Ad 10 f S ^ 9
66 >
A10 12
67 >
A11 A11B
68 >
U3
69 >
A12
c>
2 rs . 3
U3
A12B
70 >
A13
A14
t>
4 fSw 5 A13B
A14B
71 >
U3
78 >
0
1 0 f^ 9 WEB
82 >
DBIN
MEMEN
12
O21 1 IO
D B IN 6
M EMENB
80 >
D8 11 1B 1A 3 DOB
33 >
D9 2B 2A 4 D1B _
34 >
3B 3A 5 D2B _
35 >
D11 4B 4A 6 D3B ^
36 >
13 D IR SEL
U5 •#-
D12 11 IB 1A 3 D4B ‘
37 >
D13 2B 2A 4 D5B w
38 >
D14 3B 3A 5 D6B ^
39 >
D15 4B 4A 6 D7B _
40 > w-
13
4-3
4.2.1 TM990 (TMS9918A/9928A/9929A) Parts List
U 1 ,2 ,3 74LS367
U 4,5 74LS243
U 6 ,7 ,8 74LS 266
U9 74LS 138
U10 74LS00
U11 T M S 9 9 1 8 A /9 9 2 8 A /9 9 2 9 A
U 1 2 -1 9 TM S4116
C 1,2 3 3 pF
Y1 1 0 .7 3 8 6 3 5 M H z C rystal
SW1-3 4 -p o s itio n D IP S w itches
R1 4 7 0 1 2 5% 1 /4 W
R 2 -R 1 3 B o u rn s X X X X o r e q u iv a le n t
NOTE: All power supply pins of each IC should be bypassed with a .1^F capacitor.
TM S9918A
VIDEO TO A N TE N N A
COMVID T E R M IN A L S O F
IN
CO LO R T V
C1 and C2 are load capacitors fo r th e parallel-resonant crystal. C1 and C2 values m ay be varied s lig h tly to o b ta in more
accuracy in tim in g and co lo r generation and also to com pensate fo r stray capacitance on th e PC board. T ypical values fo r
C1 and C2 range betw een 15 pF and 3 9 pF. A trim m e r capacitor w ith a value o f 5 pF to 50 pF m ay also be used instead o f
C1 and adjusted to p rovide proper colors to th e video m o n ito r.
The V D P m ay also be operated w ith an external oscillator source. T he V D P co n n e ctio n s fo r th is external source are show n
in Figure 4 -5 .
4-4
+5 V
470 n 470 n
>
Or ............ XTAL1
TMS9918A/9928A/9929A
0 秦 XTAL2
There m ay be a slig h t co lo r s h ift o r a com plete co lo r loss in applications o f RF m o d u la to rs if there are m ism atches in
voltages levels o r im pedances betw een th e V D P and th e RF m o d u la to r. See Figure 3 -4 fo r th e T M S 9 9 2 8 A /9 9 2 9 A in te r
face.
4.2.4 V R A M C o n n e c tio n s
The V R A M used in Figure 4 -2 are 4 1 16-type dynam ic R A M s th a t m eet th e spe cifica tion s in S ectio n 5.
A ddressing o f th e V R A M is done th ro u g h th e address bus and th e m em ory c o n tro l lines, A D 1 -A D 7 and R AS , C A S , and
W R , respectively.
Data w ritte n to th e V R A M is also sent over th e address bus. ADO is a M S B , and A D 7 is th e LS B . Data w ritte n fro m the
V R A M is b ro u g h t in to th e V D P via th e read data bus, RCXJ-RD7. T he T M S 9 9 1 8 A a u to m a tica lly refreshes th e V R A M w ith
no intera ctio n necessary fro m th e h o st CPU.
N ote th a t address 0 (ADO) and data 0 (DO) are th e M S B s fo r th e T M S 9 9 1 8 A and alt o th e r T M S 9 9 0 0 fa m ily m em bers. The
V R A M pin designations (AO and DO) referenced in th e data manual are s h o w n as being th e LSBs to be co n siste n t w ith
4 1 16-type dynam ic R A M data sheets.
4.3 V D P IN IT IA L IZ A T IO N
A fte r pow e ru p and proper reset tim in g , th e V R A M allocation backdrop co lo r and ty p e o f dyn a m ic R A M need to be loaded
in to th e V D P registers.
T he values to be loaded can be calculated b y using th e examples and tables s h o w n in A p p e n d ix A . The fo llo w in g flo w c h a rt
(Figure 4 -6 ) sh o w s a procedure fo r loading alt e ig h t VD P registers. S e ttin g 4 .4 co ntains a typ ica l T M S 9 9 0 0 s o ftw a re p ro
gram designed to w o rk on th e dem o board, sh o w n in Figure 4 -3 .
CONTINUE
4-5
4.4 TYPICAL SOFTWARE PROGRAM
4.4.1 General
This program initializes th e T M S 9 9 1 8 A and loads th e Pattern G enerator w ith th e upper case character set. It then loads the
co lo r table, clears th e screen and p rin ts a sign~on message. A fte r initia liza tio n , a user p rogram address can be inserted at
location 00 A 4.
0001 I DT 'DEMOSm*
0002 0000 AORG > 00 0 0
0003 9000 VRAMW EQU >9000 A D D R E S S TO
TO WRITE DATA TO VRAM
0 0 04 9002 VDPW EQU >9002 A D D R E S S TO WRITE DATA TO VDP
0 0 05 9004 VRAMR EQU >9004 A D D R E S S TO READ DATA FROM VRAM
0006 900$ VDPR EQU >9006 A D D R E S S TO READ VDP STATUS REGISTER
0007 食
0008 食金食1
0009 I N I T I A L I Z E T H E 9 9 1 8 W I T H T H E F O L LOW
LOW:ING:
0010
0011 R E G 0 » 00 E X T V I D OFF, G R A P H 2 O F F
0012
0013 REG 1 = 0 2 4116, XNT DIS, V I D ON, G R A P H 1
0014 SIZE 1 , MAG OFF
0015
0016 REG 2 = 0 1 NAME TABLE SUB BLOCK @>400
0017
0 0 18 REG 3 « 08 C O L O R TABLE SUB BLOCK @>2 0 0
001.9
0020 REG 4 = 0 1 P A T T E R N G E N SUB B L O C K §>800
0021
0022 REG 5 = 0 6 S P R I T E N A M E T A B SUB B L K @>300
0023
0024 REG 6 = 0 0 S P R I T E P A T T G E N SUB BLK @>000
0025
0026 REG 7 = 0 7 B A C K D R O P C O L O R IS C Y A N
0027
0 02 8
0029
0030
0031 NOTE
0 03 2 THIS SOFTWARE ASSUMES THAT THE DATA BUS OF THE
0033 T M S 9 9 1 8 A IS C O N N E C T E D T O T H E L E A S T S I G N I F I C A N T
0 03 4 B Y T E O F T H E T M S 9 9 0 0 , W I T H D7 AS T H E t«3ST
0035 S I G N I F I C A N T B I T A N D D15 AS T H E L E A S T S I G N I F I C A N T
0036 BIT
0037
0 03 8
0 03 9 0000 0201 INIT LX Rl/VDPW V D P V7RITE A D D R E S S
0 0 02 9002
0040 0 0 04 0 2 02 LI R 2 ,S U T A "SET U P T A B L E " A D D R E S S
0006 00B8
0041 0 0 08 0203 LX R 3 r>80 ADDRESS OF FIRST VDP REGISTER
000A 0080
0042 0 0 0 0 C472 LP01 MOV * R2+,*R1 G E T D A T A F R O M MEK, S E N D T O 9 9 18
0043 0 0 0 E 0443 MOV R 3 ,*R1 S E N D R E G # T O 9 918
0 04 4 0 0 1 0 0583 INC R3 INCREMENT REGISTER COUNT
0045 0 0 12 0283 Cl R 3 r>88 ALL REGS LOADED?
0014 0088
4 4 4 4 5 5 5 5 5 5
6 7 8 9 0 1 2 3 4 5
0
0
0
0
0
0
A T A B L E IN M E M O R Y T O T H E P A T T E R N G E N E R A T O R
0
0
S U B - B L O C K IN V R A M .
0
0
0
0
0
4-6
DEM09918 SDSMAC 3.4.0 81.117 15:45:22 MONDAY, SEP 2 7 , 1 9 8 2 .
PAGE 0003
0056 001C 0202 LI R2,VDPW ADDRESS TO WRI T E TO VDP
001E 9002
0057 0020 0203 LI R 3 ,P A T T MEM ADDR OF PATTERNS
0022 0000
0058 0024 0204 LI R 4,512 64 C H A R X 8 B Y T E S - 512 BYTES
0026 0200
0 0 5 9 0028 0205 LI R5,>4900 A D D R E S S T O L O A D P A T S IN V R A M
002A 4900
0060 0 0 2 0 C4 85 MOV R 5 ,*R2 SEND LSB OF V R A M ADDRESS TO VDP
0061 0 0 2 E 06C5 SWPB R5 REVERSE BYTES
0062 0030 C445 MOV R5 f *R1 SEND DATA TO VRAM
0063 0032 D173 LPG2 MOVB *R3+ , R 5 GET BYTE PROM MEM
0064 0034 06C5 SWPB R5 REVERSE BYTES
0065 0036 C445 MOV R 5 ,*R1 SEND DATA TO VRAM
0066 0038 0604 DEC R4 ALL DONE YET?
0067 0 0 3 A 16FB JNE LPG2 NO, G O A G A I N
0068 賣
0069 食 * 食 食 ★ ★ 食 ★ ★ 貪 ★ 食 貪 *★ ★ ★ ★ ★ ★ 食★★★★★貪
4-7
DEM09918 SDSMA C 3,4. 0 81.117 15:45:22 MONDAY, SEP 2 19 1982
PAGE 0004
2 3 4 56 7 8 9
0 0 0 0 0 0 0 0
x
tS
0072 1 6 P D JNE CSL1 NO, G O A G A I N
0 0 0 0 0 0 0
l
l
it Hr it it it
i
l
夤 P R I N T S I G N ON M E S S A G E
l
*
l
2
0
*
0
007 4 1
0 LI R1,VRAMW A D D R E S S TO W R I T E D A T A T O V R A M
9
0
0
0076
0
2
0
2
007E
VpV
2 3 4 5
0 3 3 3
0 8 C 8 0 9 C 1 8 0 0 6
4
4 6
1 1 1 1
0
3 1
4
C 40 2C 00 40 10 2D F
0088
0116 008A PRNT C L R R4 CLEAR RECEPTION REGISTER
0117 008C M O V B *R3,R4 GET A BYTE OP TEXT
0118 008G Cl R 4 f> F F00 IS IT T H E E O M C H A R A C T E R ?
0090
0119 0092
063F
009C
0124 * AT THIS POINT
4 5 8
009F
00A0
00A1
4
1
00A2
5
3
00 A3
2
0
00A4
4
9
00A5
4
E
00A6
00A7
5
3
00A8
5
4
00A9
2
5
00AA
5
5
00AB
D
4
00AC
00AD
5
4
00AE
E
4
00AF
4 3 0 4 D 3 9
5 5 2 5 4 5 3
00B0
00B1
00B2
00B3
00B4
00B5
00B6
0126 00B7 B Y T E >FF
9
3
0131 * I N I T I A L I Z I N G T H E R E G I S T E R S IN T H E 9 9 1 8 A
4-8
DEM09918 SDSMAC 3.4,0 81.117 15:45:22 MONDAY, SEP 2 7 , 1 9 8 2 .
PAGE 0005
3 1 1 1 1 1 1 1 3 1 1 1
3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 65 65 65 65 6 6 6 6 67 67 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8
2 3 4 5 6 7 8 9 0 1 2 3 4 657 8 9 0 1 2 3 4 657 8 9 0 1 2 3 4 657 8 9 0 1 2 3 4 657 8 9 0 1 2 3 4 657 8 9 0 1
0 0 0
8 9 A B C D E
0
0 0 0 I S0 0 G0
B B B B B B 6 B
0
SUTA BYTE >00
2
flu
BYTE >02
1
I S
0 BYTE >01
8
BYTE >08
I S0 0
BYTE >01
1
6 0
& I S CS
BYTE >06
0 0
0 0 0 0
BYTE >00
0
7
0
BYTE >07
F
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 9918A TEXT PATTERNS
xl l l
*
I S
食 T H E S E P A T T E R N S F R O M A 5X7 C H A R A C T E R IN THE
C&
0 0 0 0 0 0
* 8X8 P A T T E R N B L O C K T H A T IS U P P E R A N D L E F T
xl l l
* JUSTIFIED
*
0 2 46 8
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1
c c c c c c c c d d d d d d d d g e e e e e e e f f f f f
0 0 0
.2 1 1 1 X 1 1 1 1 1 X 1 1 1 X 1 1 1 1 X 1 1 X 1 1 1 1 1 1 X
20 20 DATA >2020
2000 DATA
C 90 0 0 0 0 0 0 0 0 0 0
>2000
2000 DATA >2000
5050 DATA >5050 CHARACTER A S C I I 22
0 0 0 0 0 0
46 8
10 20 DATA >1020
CS
¢ 90 0 0
E 0 2 46 8
00
80 80 DATA >80 80
M3
4-9
DEM09918 SDSMAC 3.4.0 81.117 15:45:22 MONDAY, SEP 27/ 1982.
PAGE 0006
‘ 10
D E M O 9918 SDSMAC 3.4.0 81.117 15:45:22 MONDAY, SEP 2 7 , 1 9 8 2 .
PAGE 0007
0252 018K E000 DATA >E000
0253 0190 0000 DATA >0000 CHARACTER s ASCII 3A
0254 0192 2000 DATA >2000
0255 0194 2000 DATA >2000
0256 0196 0000 DATA >0000
0257 0198 0000 DATA >0000 CHARACTER • ASCII 3B
0258 019A 2000 DATA >2000
0259 019C 2020 DATA >2020
0260 019E 4000 DATA >4000
0261 01A0 1020 DATA >1020 CHARACTER < ASCII 3C
0262 01A2 40 80 DATA >40 80
0263 01M 4020 DATA >4020
0264 01A6 1000 DATA >1000
0265 01A8 0000 DATA >0000 CHARACTER ASCII 3D
0266 01AA F800 DATA >F800
0267 01AC F800 DATA >F800
0268 01AE 0000 DATA >0000
0269 01B0 4020 DATA >4020 CHARACTER > ASCII 3E
0270 01D2 1008 DATA >1008
0271 01B4 1020 DATA >1020
0272 01B6 4000 DATA >4000
0273 01B8 7088 DATA >7088 CHARACTER ASCII 3F
0274 01BA 1020 DATA >1020
0275 01BC 2000 DATA >2000
0276 01BE 2000 DATA >2000
0277 01C0 7088 DATA >7088 CHARACTER @ ASCII 40
0278 01C2 A8B8 DATA >A8B8
0279 01C4 B080 DATA >B080
0280 01C6 7800 DATA >7800
0281 0108 2050 DATA >2050 CHARACTER A ASCII 41
0282 01CA 8888 DATA >8888
0283 01CC F888 DATA >F888
0284 01CE 8800 DATA >8800
0285 01D0 F088 DATA >F088 CHARACTER B ASCII 42
0286 0102 88F0 DATA >88F0
0287 01D4 8888 DATA >8888
0288 01D6 F000 DATA >F000
0289 01D8 7088 DATA >7088 CHARACTER C ASCII 43
0290 01DA 8080 DATA >80 80
0291 01DC 8088 DATA >8088
0292 01DE 7000 DATA >7000
0293 01E0 F088 DATA >F088 CHARACTER D ASCII 44
0294 01E2 8888 DATA >8888
0295 01E4 8888 DATA >8888
0296 01G6 F000 DATA >F000
0297 01E8 F880 DATA >F880 CHARACTER E ASCII 45
0298 01EA 80F0 DATA >80F0
0299 01EC 8080 DATA >80 80
0300 01EE F8O0 DATA >F800
0301 01F0 F880 DATA >F880 CHARACTER F ASCII 46
0302 01F2 80F0 DATA >80F0
0303 01F4 8080 DATA >8080
0304 01F6 8000 DATA >8000
0305 01F8 7880 DATA >7880 CHARACTER G ASCII 47
0306 01 FA 8080 DATA >80 80
0307 01FC 9888 DATA >9888
0308 01FE 7800 DATA >7800
0309 0200 8888 DATA >8888 CHARACTER H ASCII 48
0310 0202 88F8 DATA >88F8
0311 0204 8888 DATA >8888
4-11
DEM09918 SDSMAC 3.4.0 81.117 15:45:22 MONDAY, SEP 2 7 , 1982.
PAGE 0008
4*12
DEM09918 SDSMAC 3.4.0 81.117 15:45:22 MONDAY, SEP 2 7 , 1 9 8 2 .
PAGE 0009
0372 027E 8800 DATA >8800
0373 0280 8888 DATA >8888 CHARACTER X ASCII 58
0374 0282 5020 DATA >5020
0375 0284 5088 DATA >5088
0376 0286 8800 DATA >8800
0377 0288 8888 DATA >8888 CHARACTER Y ASCII 59
0378 028A 5020 DATA >5020
0379 028C 2020 DATA >2020
0380 028E 2000 DATA >2000
0381 0290 F808 DATA >P808 CHARACTER Z ASCII 5A
0382 0292 1020 DATA >1020
0383 0294 4080 DATA >4080
0384 0296 F800 DATA >F800
0385 0298 F8C0 DATA >F8C0 CHARACTER [ ASCII 5B
0386 029A C0C0 DATA >C0C0
0387 029C COCO DATA >C0C0
0388 029E P800 DATA >F800
0389 02A0 0080 DATA >0080 CHARACTER ASCII 5C
0390 02A2 4020 DATA >4020
0391 02A4 1008 DATA >1008
0392 02A6 0000 DATA >0000
0393 02A8 F818 DATA >F818 CHARACTER ] ASCII 5D
0394 02AA 1818 DATA >1818
0395 02 AC 1818 DATA >1818
0396 D2AE F800 DATA >F800
0397 02B0 0000 DATA >0000 CHARACTER ASCII 5E
0398 02B2 2050 DATA >2050
0399 02B4 8800 DATA >8800
0400 02B6 0000 DATA >0000
0401 02B8 0000 DATA >0000 CHARACTER ASCII 5F
0402 02BA 0000 DATA >0000
0403 02BC 0000 DATA >0000
0404 02BE F800 DATA >F800
0405 02C0 4020 DATA >4020 CHARACTER ASCII 60
0406 02C2 1000 DATA >1000
0407 02C4 0000 DATA >0000
0408 02C6 0000 DATA >0000
0409 02C8 0000 DATA >0000 CHARACTER a ASCII 61
0410 02CA 7088 DATA >7088
0411 02CC F888 DATA >F888
0412 02CE 8800 DATA >8800
0413 02D0 0000 DATA >0000 CHARACTER b ASCII 62
0414 02D2 F048 DATA >F048
0415 02D4 7048 DATA >7048
0416 02D6 F000 DATA >F000
0417 02D8 0000 DATA >0000 CHARACTER c ASCII 63
0418 02DA 7880 DATA >7880
0 419 02DC 8080 DATA > 8 0 80
0420 02DE 7800 DATA >7800
0421 02E0 0000 DATA >0000 CHARACTER d ASCII 64
0422 02E2 F048 DATA >F048
0423 02E4 4848 DATA >4848
0424 02E6 F000 DATA >F000
0425 02E8 0000 DATA >0000 CHARACTER e ASCII 65
0426 02EA F080 DATA >F080
0427 02EC G080 DATA >E080
0428 02EE F000 DATA >F000
0429 02F0 0000 DATA >0000 CHARACTER f ASCII 66
0430 02F2 F080 DATA >F080
0431 02F4 E080 DATA >E080
4-13
D E M O 9918 SDSMAC 3.4.0 81.117 15:45:22 MONDAY, SEP 2 7 r 1982.
PAGE 0010
0432 02F6 8000 DATA >8000
0433 02F8 0000 DATA >0000 CHARACTER 9 ASCII 67
0434 02PA 7880 DATA >7880
0435 02FC B888 DATA >B888
0436 02FE 7000 DATA >7000
0437 0300 0000 DATA >0000 CHARACTER h ASCII 68
0438 0302 8888 DATA >8888
0439 0304 F888 DATA >F888
0440 0306 8800 DATA >8800
0441 0308 0000 DATA >0000 CHARACTER i ASCII 69
0442 030A F820 DATA >F820
0443 0300 2020 DATA >2020
0444 030E F800 DATA >P800
0445 0310 0000 DATA >0000 CHARACTER j ASCII 6A
0446 0312 7020 DATA >7020
0447 0314 20A0 DATA >20A0
0448. 0316 E000 DATA >E000
0449 0318 0000 DATA >0000 CHARACTER k ASCII 6B
0450 031A 90A0 DATA >90A0
0451 0310 A0C0 DATA >A0C0
0452 031E 9000 DATA >9000
0453 0320 0000 DATA >0000 CHARACTER 1 ASCII 6C
0454 0322 8080 DATA >8080
0455 0324 80 80 DATA >8080
0456 0326 F800 DATA >F800
0457 0328 0000 DATA >0000 CHARACTER m ASCII 6D
0458 032A 88D8 DATA >88D8
0459 0320 A888 DATA >A888
0460 032E 8800 DATA >8800
0461 0330 0000 DATA >0000 CHARACTER n ASCII 6E
0462 0332 88C8 DATA >88C8
0463 0334 A898 DATA >A898
0464 0336 8800 DATA >8800
0465 0338 0000 DATA >0000 CHARACTER o ASCII 6F
0466 033A F888 DATA >F888
0467 033C 8888 DATA >8888
0468 033E F800 DATA >P800
0469 0340 0000 DATA >0000 CHARACTER P ASCII 70
0470 03.42 F088 DATA >F088
0471 0344 F080 DATA >F080
0472 0346 8000 DATA >8000
0473 0348 0000 DATA >0000 CHARACTER q ASCII 71
0474 034A F888 DATA >F888
0475 034C A890 DATA >A890
0476 034E E000 DATA >E000
0477 0350 0000 DATA >0000 CHARACTER r ASCII 72
0478 0352 F888 DATA >F888
0479 0354 F8A0 DATA >F8A0
0480 0356 9000 DATA >9000
0481 0358 0000 DATA >0000 CHARACTER s ASCII 73
0482 035A 7880 DATA >7880
0483 035C 7008 DATA >7008
0484 035E F000 DATA >F000
0485 0360 0000 DATA >0000 CHARACTER t ASCII 74
0486 0362 F820 DATA >F820
0487 0364 2020 DATA >2020
0488 0366 2000 DATA >2000
0489 0368 0000 DATA >0000 CHARACTER u ASCII 75
0490 036A 8888 DATA >8888
0491 036C 8888 DATA >8888
4-14
D E M O 9918 SDSMAC 3.4.0 81.117 15:45:22 MONDAY, SEP 2 7 , 1 9 8 2 .
PAGE 0011
0492 036E 7000 DATA >7000
0493 0370 0000 DATA >0000 CHARACTER V ASCII 76
0494 0372 8888 DATA >8888
0495 0374 90 A0 DATA >90 A0
0496 0376 4000 DATA >4000
0497 0378 0000 DATA >0000 CHARACTER w ASCII 77
0498 037A 8888 DATA >8888
0499 037C A8D8 DATA >A8D8
0500 037E 8800 DATA >8800
0501 0380 0000 DATA >0000 CHARACTER X ASCII 78
0502 0382 8860 DATA >8860
0503 0384 2060 DATA >2060
0504 0386 8800 DATA >8800
0505 0388 0000 DATA >0000 CHARACTER y ASCII 79
0506 03 8A 8850 DATA >8850
0507 038C 2020 DATA >2020
0508 038E 2000 DATA >2000
0509 0390 0000 DATA >0000 CHARACTER z ASCII 7A
0510 0392 F810 DATA >F810
0511 03 94 2040 DATA >2040
0512 0396 F800 DATA >F800
0513 0398 3840 DATA >3840 CHARACTER ASCII 7B
0514 039A 20C0 DATA >20C0
0515 039C 2040 DATA >2040
0516 039E 3800 DATA >3800
0517 03A0 4020 DATA >4020 CHARACTER ASCII 7C
0518 03A2 1008 DATA >1008
0519 03A4 1020 DATA >1020
0520 03A6 4000 DATA >4000
0521 03A8 E010 DATA >E010 CHARACTER ASCII 7D
0522 03AA 2018 DATA >2018
0523 03AC 2010 DATA >2010
0524 03AE E000 DATA >E000
0525 0380 40A8 DATA >40A8 CHARACTER ASCII 7E
0526 03B2 1000 DATA >1000
0527 03B4 0000 DATA >0000
0528 03B6 0000 DATA >0000
0529 03B8 A850 DATA >A850 CHARACTER ASCII 7P
0530 03BA A850 DATA >A850
0531 03BC A850 DATA >A850
0532 03BE A800 DATA >A800
0533 END
NO ERRORS, NO WARNINGS
4-15
4.5 TMS9900 SOFTWARE SUBROUTINES
NOTE: Before using any of the line drawing subroutines, the "Load Line Drawing Patternsf, subroutine must be executed.
PATTERN
06
=18
=18
=1 8
= FF
= FF
=1 8
=18
=18
4-16
SEGMENTS SDSMAC 3.4.0 81.117 13:36:55 TUESDAY, SEP 2 1 , 1982.
PAGE 0002
0001 IDT 'SEGMENTS'
0002 ★ ★ ★ ★ ★ ★ ★ *★ ★ 夤★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★女
0003 *
0004 * TMS9918A SUBROUTINES
13005 *
0006 9
0 0
買 TC 買買 vC
0 0 0
0 2 4 0
0007 VRAMV; EQU >9000 ADDRESS TO WRITE DATA TO VRAM
9 0
0012 *
C013 * LOAD LIME DRAWING PATTERNS
0014 *
0015 * R E G I STERS USED:
0016 *
1 2 3 4 5
0017 REG = RESERVED
0018 REG = RESERVED
0019 REG = ADDRESS OF PATTERN GENERATOR
0020 REG = P A T T E R N L O C A T I O N I N IIEMORY
0021 REG = COLORS OF DRAWING PATTERNS
0022 (USER DEFINED)
0023 食* ★ ★ ★ ★ ★ **★ 夤★夤
0024
0025
0
2
0
0
0
1
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
0
0
0
9 2
0 0 0 0 0 0 2 B C 8 0 3 7 O F 0 D 8 C C 4 5
2
0 2 2 3 0 4 E 3 3 3 3 8 4 3 D 3 0 3 3 3 5 B
0
0
0 0
46 8 A C E 6 2
0027 LI R 2 fV D P W A D D R E S S T O V7RITE T O V D P
0
0
9 2
0
0 8
:
0
0
4 2
0
0 0
3 3 3 3
0
0 0
0 1 2 3
0
0
O64
nov R 3 ,* U 2 SE11D M S B O F V R M 1 A D D R E S S T O V D P
0 0
0
0
C4 02 C0 O460 6D2 O2 14 6
4 6
6 A C E 0
3 3 3 3
0
4 56 7
C
0
o c
0
0
DEC R3 DECREtlENT B Y T E C O U N T
0 0
0
0
2
0
3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5
0
0 0
8 9 0 1 2 3 4 65 7 8 9 0 1 2 3 4
0 0 0 0 0
46 8 A c
S W P B R3 REVERSE BYTES
0
0 0
★
0 0
★
0 0
★
0
0 00n00u00o
*
002E 0000 PATD DATA >0000 PATTER1I 00
0030 O0FF DATA > 0 〇F F
DD32 FF0D DATA >FF00
0C34 0000
0 00o c
DATA >0000
0036 1816 DATA >1818 PATTERU D1
0038 1818 DATA >1818
0 0
4-17
SEGMENTS SDSMAC 3.4.0 81.117 13:36:55 TUESDAY, SEP 21 ,1982. PAGE 0003
= RESERVED *
0085
r
= RESERVED *
0086
r
= A D D R E S S O F S P R I T E T A B L E IN V R A M *
0087
r
= M E M O R Y A D D R K S S O F S P R I T E T A B L E (USERDEF) *
0088
pv
4-18
SEGMENTS SDSMAC 3.4.0 81.117 13:36:55 TUESDAY, SEP 2 1 , 1 9 8 2 .
PAGE 0004
1
5 6 7
0
0 0 0 0 0 1 1 1 1 1 1 1 1 1
1
0 1
* *
0 1 01 01 01 01 01 0 1 0 101 01 01 0
★ *
9
* R E G I S T E R S USED: *
0
★ *
★ Rl RESERVED *
1
* R2 RESERVED *
2
* *
4 657
,k ickic'k1 e 1 t'kirii1 e ie ick1 tit,k if'k1ticic1cit'k1t1cic1e1tic'kitit1cik i t ,k ic i(ic 1 tit'k 1 c 'k 1 iitit1 fk 'k 1 tir'k it,k it
★
*
8
2
0 9
0 0 0 0 0 0 8 c 8 0 0 0 2 4 0 F 5
1 0 2 2 3 0 3 3 3 2 0 3 0 d3 b 2
0086
2 9
O08A
0080 LX R3,>4400 START LOCATION OF THE NAME TABLE
2 4
0120
008E
4
0
1
2
1
C 6
4
2
1
O 4C 2O 30 20 0O 46C 604 1 0
00A4
3 1
3 1
★★★★★★★★★★★★★★★★★★★★* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★女
3 1
*
3 1
A1JD B R A N C H TO U S E R S P R O G R A M ★
★
3 1
REGISTERS U S E D : •k
3
★
1
3 1
9 0 1 2 3 4 56 7 8 9 0
0 0 0 G O O D O G 0 0 0 0 1
Rl RESERVED ★
3 1
R2 RESERVED *
3 1
R3 S T A R T I N G A D D R E S S O F M E S S A G E IN NAME *
T A B L E (USER DEFINED)
4 1
*
R4 M E M O R Y A D D R E S S O F M E S S A G E (USER DEFINED) ★
4 1
*
4 1
NOTE: EtID M E v S S A G E S T R I N G W I T H A B Y T E 00 *
4 T
★
1
4 -1
★ 失★ ★ ★ ★ ★ ★ ★ ★ ★ *★ ★ ★ ★ *★ ★ 禽★★★★★★★★★★★★★食
4
l l
*
1
*
4 l4 4 4 5
PRITT
0
6
a
0
0201 LI R l ,VRAMVJ A D D R E S S TO W R I T E D A T A T O V R A H
a
0
O
9000
a
0
0
9002
C
a
0
2 3 4 5 6 7
0
55 5 5 5 5
0i
E
c
0 1
C 4 83 MOV R 3 ,*R2 S E N D M S B O F V R A M A D D R E S S TO V D P
b
0
0
11
4-19
SEGMENTS SDSMAC 3.4.0 81•117 13:36:55 TUESDAY, SEP 2 1 r 1982.
PAGE 0005
c1 0
0
0
2 B B
0
1 1
5 5 6 ^ u 6 6 6 6 6 6 6 76 7 7 7 7 7 7 7 7 7
8 9 0 1 2 3 4 65 7 8 9 0 1 2 3 4 657 8
4
4 0
B
A
MOV R2 r *R 1 SEND CHAR TO VRAM
0
0
Q
F 4
C
0 10 101 0
JMP PRL1 GET NEXT CHAR
0
0
5
B
E
PRL2 B *R11 RETURN TO CALLING PROGRAM
*
1 1
01 0
1 1
E R A S E TO E N D OF S C R E E N SUBROUTINE
0 0 10 100
REGISTERS USED:
R l RESERVED
100
R2 RESERVED
1 0
R3 A D D R E S S IN N A M E T A B L E T O S T A R T E R A S U R E
(USER D E F I N E D ) , R3 M U S T B E E Q U A L TO
1 0
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
★
0
0 0
0 2 46
O
2
0
1
C C C C C C C C D D D D D D D
1 00
EEOS LI R l ,V R A M W A D D R E S S T O V7RITE D A T A T O V R A M
0
0 2 2 3
0 0
9 2
0 0 0 8
1
0 0
O 0
9 4
0
1
8
0
C
6
0
X
8
1
O 2
c 8 0 2 4 8 8 0 F 5
8
2
O 0
C 0
8
3
LI R2,>20 L O A D R2 W I T H 'SPACE' C H A R
0 2 4 6 8 Ac
O 0
0 4
D D T -
1
8 1
4 5 6
G 0
R 2 f*Rl S E N D ' S P A C E 1 T O ,S C R E E N
0 5
EES1 MOV
8 1
C 2
8
Cl R 3 f> 4 7 0 〇 A R E 17E A T T H E E N D O F S C R E E N
0 0
0 7
D 3 9 O J H - D D D 0 C D D D O D 0 D0 0 0 0 3 0
1
8 1
7 8 9 0 1 2 3 4 657 0 9 0 1 2 3 4 5
0 0
B B
0 4
JL EES1 IF N O T G O A G A I N
0
8 1
0 0
4 1 0
*
*
0
9 1
9 19 19 19 19 191 91 91 2
* *
★ ERASE LINE SUB *
■k *
* REGISTERS USED: ■k
it it
it Rl RESERVED it
* R2 RESERVED ★
* R3 STARTItlG A D D R E S S IU L I N E IN N A M E ★
it TABLE TO BE ERASED (USER DEFINED) *
9- 2
^ 'k 'k ic k it ii'k 'k i f k 'k 'k it lt it iiit it 'k 'k ir 'k 'k 'k it ir it if k 'k it lc 'k ic ie 'k it ic lt ic lt ir 'k ir k ic ie 'k 'k it it lf k ie 'k 'k it
0
*
2202 0 0
*
0
1 0 2 2 3
O 0
0 0 0 0 8
D E E E C E E E E F
E 0 2 46 8 A C E O
0 6
er ln LI Rl,VRAMW A D D R E S S T O V7RITE D A T A T O V R A M
9 2
0 00 00 00 00 00 00 00 00
2o 0 2oD
O 0
LI R 2 f> 2 0 L O A D R 2 W I T H 1S P A C E * C H A R
0 O
2
1
2 O
LI R 3 f3 2 L O A D R3 WITH # OF POSTIONS
4-20
SEGMENTS SDSMAC 3.4.0 81.117 13:36:55 TUESDAY, SEP 2 1 f 1982.
PAGE 0006
0 c0 1 0
0
0 0
2
0
2 4
p F F F F
0 2 3 D B
1 1 * 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 233 3
0 0 0 0 0 0 0 0 0 0 0 0 0 0 G 0 0 0 0 00 0G o c o
1 2 3 4 5
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
0 0
4 0
4
ERLl MOV R 2 ,,**RR 1 S E N D 'SPACE* C A H R TO N A M E T A BLE
0 0
6 F64
DEC R3 DECREMENT CHAR COUNT
6
6 0
0
JNE ERLl IF N O T DONE, G O A G A I N
5
8
a D *Rli DOI)Ef R E T U R N T O C A L L I N G P R O G
*
6 7 8 9 9 1 2 3 4657 0 0 9 0 1 2
REGISTERS USED:
R3 = A D D R E S S O F U P P E R L E F T CORNER
R4 = # O F HORIZ P O S I T I O N S
R5 = # O F V E R T P O S I T I O N S
R9 = P A T T E R N # O F F S E T
★
*
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C G O O O O O G 0 0 0 0 0 0 C O O G O O O O O
0
2 0
o 0 1 1 1 1X 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 8C 8 C 8 2 D 4 C 4 0 8 4 0 F 8 2 0 4 D C 4 0 8 2 C0 82 C2 48 0 F
1 0 2 2 3 3 3 3 691 6 4 7 4 96 7 D D 6 5 6 3 5 7 c 9
F F 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4
C E 0 2 4
O c
3 4 56 7 8
nov R3 f*R2 S E N D M S B O F 八D D R E S S T O 9 9 1 8
SV7PB R 3 REVERSE BYTES
00
16 C
1 4
D E C T R7 D E T E R M I N E (LENGTH - CORNERS)
3 O
2 4
R9,R6 P A T T E R N 00 + O F F S E T
3 4
nov
1:0V
4 6C 6C
1 0
2 1
0 C
2 2
4
9 0 1 2 3 4 5 6
nov
5
o 2
MOV R 5 fR 7
o 2o
C 1
C 2
6 3 8 0 8 8 8 6
C 0
G 2
5
2
nov R 6 ,R 1 SEIZ'D V E R T L I N E S E G H E N T T O 9 9 1 8
6 C
2o2 o
48
4-21
C
4
1
SEGMENTS SDSflAC 3.4.0 81.117 13:36:55 TUESDAY, SEP 2 1 , 1982.
PAGE 0007
2
6
DBL4 AI R8,>20
4
0
1
2
2
4
8
A
0 INC VERT POSITION BY 1 CHAR
C E 0 2 46 8 A C E O 2 46 8 A C E D 2 6
1 0
0
0
4 4 5 5 5 5 5 5 5
2
O
0
2
1 0
4
C 600
8 C
8 8
SEND ADDRESS TO 9918A
S17PB R8
2 2 2 2 2
1 0
REVERSE BYTES
1 0
MOV R8,R2 SEND ADDRESS TO 9918
8
8
SliPB R8
6
REVERSE BYTES
1 0
c 6
1 C
C 8 2 0 4 C 4 0 8 4 0 F 8 2 0 4 0 4 1 0 0 0 0 8 2 0 C 4 2 2 8 C 8 C 4 0 F 5
MOV R9,R6 GET OFFSET
AI R6,>02
1 0
2 0
9 2 6 4 7 4 96 7 D 9 6 4 6 5 7 2 4 7 3 7 69 3 5 7 8 0 8 8 8 687 7 B
P O I N T T O LOV/ER L E F T C O R N E R P A T T
1 0
0 0
MOV
7 7 7 7 7 7 7 7 7
1 2 3 4 5
R6, *R1
2 2 2 2 2 2 2 2 2
0 0 0 0 0 0 0 0 0
1 0
4 C
SEND IT TO 9918
MOV R4rR7 SEND HORIZ COUNT TO TEMP
1 0
1
6 5
6 C
3 0
6 6 6 6
1 1
GET OFFSET
6 7 8 9
4 6C 6C1 02 10 C4 O1
GET OFFSET
1 0
MOV
8
1
R6 r *R1
2
1 0
0
2
8
1 0
S T O R E V E R T C O U N T IH T E M P
4 8 A C E 0 2 A 6- 8 A C E O 2 6
6 03 C1 6
DECT R
3 4 5
86 8 8 8 8 8 9
1 0
1 0
C 2
2 2
riov R3,R8
フ 8 8 8 8 0 0 0
1 0
0 2
A R7fR8
0
1 0
1 1
HOV R9f R6
1 0
C 2
GET OFFSET
AI R6,>03
1 0
O 0
1 0
C 16
MOV
1 2 3
R5,R7
2 2
9 9 9
S T O R E V E R T C O U N T IN T E M P
1 0
A 2C 0O 4O
DECT R7
0 0
0c
MOV R8,*R2
o
9 9 9 9 9 9 9 9
4 5 6 7 8 9 0 1 2 3 4 657 8 9 0 1 2 3 4
0
1 0
SUPB R8
2 9
0
REVERSE BYTES
1 0
4 6
2 9
0 4O 60 6C4 O C 0 C 0 1 0
S17PB R8
0
48 A C E
2 9
REVERSE BYTES
riov R6, *R1
0
1 0
DEC R7
1 0
0 3
JME DRL7
1 0
IF N O T DONE, G O A G A I N
0
DBL8 *R11
0 3
1 0
0 3
*
1
0
0 3
*
0
1
0
0 3
0
0
1
* ★
0 3
0
0
1
0
1
* 4r
0
0 3
* REGISTERS USED: *
0
1
0
0 3
* *
0
0 3
* ★
1 3
0
1 3
0
★
1 3
0
1
2
0 9
0
1 o 2
A
c
LDTC LI R l , >9000
0
0
A
X
1 3
o 2
0
0
4
D
A
1
1 3
LI R 2 , > _ 2
01 01
G
9
2
0
A A
6 8
6
3
2
0
0
4-22
SEGMEIITS SDSMAC 3.4.0 81.117 13:36:55 TUESDAY, SEP 2 1 , 1 9 8 2 .
PAGE 0008
01AA 4204
0317 01AC C4 83 MOV R 3 ,*R2 SEND ADDRESS TO 9918
0318 01AE 06C3 SV7PB R3 REVERSE BYTES
0319 01BO C483 MOV R3 f*R2 8 COLOR CHAR X 8 TEXT/CHAR = i
0320 01B2 C444 LCLI MOV R4 f*R1 SEND WORD TO 9918
0321 01E4 0602 DEC R2 DECREMENT COUNT
0322 01B6 16FD JNE LCLI IF NOT DONE, GO AGAIN
0323 01B8 0455 B *R11 DONE, RETURN TO CALLING PROG
0324 ★
£3325 ★
0326 ★★★★★★★★★ 青************************************************
0327 * ★
0328 ★ DRAW A VERTICAL LINE SUB *
0329 * *
0330 * REGISTERS USED: *
0331 * *
0332 * R3 = ADDRESS ON SCREEN *
0333 ★ R4 = # OF POSITIONS *
0334 it R9 = PATTERN OFFSET *
0335 •k *
0336
0337 *
0338 01BA 0483 DVLn MOV R3 f*R2 SEND ADDRESS TO 9918
0339 01BC 06C3 SV7PB R3 REVERSE BYTES
0340 01BE C4 83 MOV R3 f*R2 SEND ADDRESS TO 9918
0341 01CD 06C3 SV7PB R3 REVERSE BYTES
0342 01C2 C445 MOV R 5 ,*R1 SEND PATTERN TO 9918
0343 EMD
MO ERRORS, NO 17ARNIHGS
4>23
s. TMS9918A/9928A/9929A ELECTRICAL SPECIFICATIONS
*Stresses beyond those listed under Absolute Maximum Ratings may cause permanent damage to the device. This is a stress rating only
and functional operation of the device at these or any other conditions beyond those indicated in the Recommended Operating Conditions
section of this specification is not implied. Exposure to absolute maximum rated conditions fo r extended periods may affect device retiabili-
ty.
S u p p ly voltage, V c c 4 .7 5 5 .2 5 V
S u p p ly voltage, V s s 0 V
S YN C active 10 12 V
In p u t V oltage, V),
RESET active 0 .6 V
R E S E T/S YN C pin
S YN C and RESET inactive 3 6 V
X TA L1, XTAL2 2 .7 5 V
H igh-level in p u t, V|H
A ll o th e r inputs 2 .2 V
Low -level in p u t
voltage, V||_ 0 .8 V
O perating free-air
tem perature, 丁八 0 70 °c
5-1
5.3 ELECTRICAL CHARACTERISTICS OVER FULL RANGES OF RECOMMENDED OPERATING CONDITIONS
(unless otherwise noted)
T M S 9 9 1 8 A /9 3 2 8 A /9 9 2 9 A
H igh-level R AS, C AS , R /W 2 .7 3 .4
V 〇H l〇 H - 40 0 /iA V
o u tp u t A ll o ther 2 .4 3 .2
voltage o u tp u ts
hH H igh-level in p u t cu rre n t V| = 5 .2 5 V ,
all o th e r pins at 10 mA
0 V
5-2
5.3 ELECTRICAL CHARACTERISTICS OVER FULL RANGES OF RECOMMENDED OPERATING CONDITIONS
(unless otherwise noted} (Continued}
T M S 9 9 2 8 A /9 9 2 9 A O n ly (F ig u re 5-1)
TMS992SA O nly
T M S 9 9 1 8 A /9 8 2 8 A /9 9 2 9 A (F ig u re S>2)
D 0-D7
In p u t unmeasured 20
Ci capacitance A ll o ther f = 11 M H z, pins 10 pF
in p u ts a tO V 10
unm easured
C〇 O u tp u t capacitance f = 1 1 M H z, pins 20 Pf
a tO V
5-3
S.4 TIM IN G REQUIREMENTS OVER FULL RANGES OF RECOMMENDED OPERATING CONDITIONS
(TMS9918A/9928A/9929A)
tw (W L ) Pulse w id th , C S W lo w 200 ns
5-4
5.5 SWITCHING CHARACTERISTICS OVER FULL RANGE OF RECOMMENDED OPERATING CONDITIONS
(TMS9918A/9928A/9929A)
CPU-VDP Interface
tw (R L ) Pulse w id th , R AS lo w 190 21 0 23 0 ns
5-5
5.5 SWITCHING CHARACTERISTICS OVER FULL RANGE OF RECOMMENDED OPERATING CONDITIONS
(TMS9918A/9928A/9929A) (Continued)
5-6
5.5 SWITCHING CHARACTERISTICS OVER FULL RANGE OF RECOMMENDED OPERATING CONDITIONS
(TMS9918A/9928A/9929A) (Continued)
5-7
5.5 SWITCHING CHARACTERISTICS OVER FULL RANGE OF RECOMMENDED OPERATING CONDITIONS
(TMS9918A/9928A/9929A) (Continued)
470 15 pF
+ /—1%
O V |.
RL I W H E R E V L = 1 .9 5 V
未 CL
r L = 1 . 1 ka > FOR
CL = 300 pF CD BUS
RL = 1 . 6
> F〇 R
CL = 50 pF D R A M IN T E R F A C E
FIGURE 5-2 - LOAD CIRCUITS FOR ALL OUTPUTS EXCEPT COMVID, R-Y, Y f B-Y
5>9
WRITE CYCLE
READ CYCLE
N O T E : A lt m e a c u re m e n ts are m a d e a t 1 0 % and 9 0 % p o in ts .
5-10
FIGURE 5-5 - VRA M WRITE CYCLE
RAS
CAS
ADO • AD7
R/W
RDO - RD7
5-11
2 .7 5 V
0 .8 V
VERTICAL I I VERTICAL I
END BOTTOM I FRONT VERTICAL I BACK START TOP
I I
BORDER SYNC BORDER
I BLANKING* I BLANKING* I
I
#Color burst output suppressed
5-12
FIGURE 5-10 - TMS9928A/9929A Y HORIZONTAL TIM IN G
• j — t w (R B I)
tw(ADI)
NOTES: a. All linear dimensions are in inches and parenthtfticaliy in millimeters. Inch dimensions goven.
b. Each pin centerline is located within 0.0 1 0 (0.25) of its true longitudinal position.
t <t 〇 -------------------------------------------------------------------------------------------► ©
NOTES: a. Afl linear dimensions are in inches and parenthetically in millimeters, inch dimensions goven.
b. Each pin centerline is located w ithin 0.0 1 0 (0 .2 5 ) of its true longitudinal position.
6-1
APPENDIX A
A-1
This appendix contains the diagrams and software listing o f an upper and lower case ASCII character set. The character
m atrix is 5 X 7 in the 8 X 8 pixel block. These characters are left-justified so they can be used in the te xt ( 6 X 8 pixels)
mode.
PATTERN
20
* 20 =40
=78 -AO
= AO = AO
=70 =40
=28 - A8
= FO "90
=20 =68
»00 -00
PATTERN PATTERN
29 2B
«20 =20 -00
* 10 = A8 -20
=08 -7 0 ■2 0
*08 =20 -F8
=08 -7 0 ■20
=10 > A8 ■20
=20 «20 ■00
=00 -00 -00
PATTERN
2C
•00 *00
;00 =00
»00 =00
=00 - F8
=20 =00
=20 =00
*40 =00
=00 »00
PATTERN PATTERN
30 31
=20
=60
=*20
=20
=20
=20
=70
>00
A-2
PATTERN PATTERN
WA
”s
s
20
00
一 s20
8
EO s00
wo
8 40
s 20
圍 = : = s
s
^ __ 8
10
FS
20
8
00
s
8
00
FO
A»
88
«
»
s
FO
FO
00
F« F»
8
0
80
80
FO
AO
90
s
s
A8 08
AS AS
0
0
F 88
00
PATTERN PATTERN PATTERN PATTERN
50 51 S2 53
« F0 « FO «70
«88 =>88 =88
-8 8 -88 -8 0
* FO -FO -7 0
■ 80 = AO -0 8
• 80 -9 0 <■88
-8 0 >88 -7 0
-00 >00 =00
PATTERN PATTERN
54 57
*88
=88
>88
- A8
- A8
» D8
=88
=00
* F8
*08
«10
■2 0
■40
-8 0
- F8
-00
PATTERN PATTERN
60 63
>40 =00
=20 =00
=10 =78
m
=00 =80
-00 =80
-00 *8 0
>00 =78
•00 =00
A-4
PATTERN PATTERN PATTERN
PATTERN
68 69 6A 6B
=00 =〇〇 *00 «00
=00 =00 -00 -0 0
=88 - F8 -7 0 -9 0
■明 -20 -20 霄 AO
- F8 -20 -20 -C O
■88 =20 囂 AO 篇 AO
-8 8 « F8 -E O -9 0
=00 «00 -00 ■00
PA TTER N PATTERN
PATTERN pattern
6C 60 6E 6F
«00 -0 0 -0 0
=00 *0 0 -〇〇
-8 0 -8 8 -8 8
=80 - D8 -C 8
-8 0 - A8 - A8
=80 =88 *9 8
= F8 =88 ■88
*0 0 =〇〇 -0 0
PATTERN
PATTERN PATTERN
74 76 77
-0 0
-0 0
-88
«88
-9 0
雪 AO
-4 0
=00
AS
APPENDIX B
When choosing the VRAM memory, the user must take into consideration the propagation delay times of the system in addition to
the access time of the memory and data setup time of the VDP.
After the VDP outputs a low level signal on RAS, there is a delay time for this ,ow (eve* to reach ^ VRAM memory;
there is a similar delay a signal output on the CAS pin to reacn tne VRAM memory. Finally, there is a delay
for data output by the memory to reach the VDP. These delays (shown in Figure B1) depend on the length of the wires between
VDP and memory, and on the capacitive load being driven.
Valid data appearing on RD0>RD7 is strobed into the VDP when CAS is brought high. Therefore, the memory chosen must have
fast enough access times, and so that valid data is present on RD0-RD7 when a positive transition occurs on CAS.
For 16-K m em ories fro m Texas Instrum ents (T M S 4 1 1 6 -X X I, th e tim es, t p レ ¢1 a m i t a( p , can vary, b u t th e ir su m is equal t o 、 旧 》
Under worst case conditions, this equation can be used to find out how rmich time is allowed for system delays using different
memories.
If the values from Table B1 are placed in the equation, we find (、してし + twcj_> VDP MIN > + tdWataP SYS +
'alR) MEM + tsuD-CH VDP MAX]
2K) nS - taW MEM MAX > [ td<RAS> + td(da如 ] SYS MAX
From the data given here, the VDP wiM work with both -15 and -20 TMS4116 dynamic RAMs provided the system delays are smaU
enough. The VDP does not meet the tg| 〇vspecifications for the -25 TMS4116 and is unable to use the -25 under worst case condi
tions. The VDP has been verified to won< with both -15 and -20 TMS4116s in a system application. Note that in addition to the
equation derived above, that all memory timing requirements must be met as specified in a memory data book.
B-1
RAS
CAS VRAM
VDP
9 918A / M EM O RY
9 928A / 4116-X X
9929A (8 in parallel)
RDO
RD7
M- •tw(RL)
VDP RAS
TIMING
CAS tw(CL)
tRL-CL 铡
DATA
I
td(DATA) tsu(D-CH)
VRAM RAS
TIMING
/
td(RAS)
CAS
/
DATA
B-2
APPENDIX C
C-1
PATTERN
NAME
C-2
PATTERN
NAME
C-3
■ Texas
Instrum ents
Novem ber 1982
Post Office Box 1443 • Houston, Texas 77001
M P 010A Semiconductor Group P rinted in U.S.A.