Important Notice

Texas Instruments (TI) reserves the right to make changes to or to discontinue 
any semiconductor product or service identified in this publication without 
notice. TI advises its customers to obtain the latest version of the relevant 
information to verify, before placing orders, that the information being relied 
upon is current.

TI warrants performance of its semiconductor products to current specifications 
in accordance with TI's standard warranty. Testing and other quality control 
techniques are utilized to the extent TI deems necessary to support this 
warranty. Unless mandated by government requirements, specific testing of all 
parameters of each device is not necessarily performed.

TI assumes no liability for TI applications assistance, customer product 
design, software performance, or infringement of patents or services described 
herein. Nor does TI warrant or represent that license, either express or 
implied, is granted under any patent right, copyright, mask work right, or 
other intellectual property right of TI covering or relating to any 
combination, machine, or process in which such semiconductor products or 
services might be or are used.

Texas Instruments products are not intended for use in life-support appliances, 
devices, or systems. Use of a TI product in such applications without the 
written consent of the appropriate TI officer is prohibited.

Warning

This equipment is intended for use in a laboratory test environment only. It 
generates, uses, and can radiate radio frequency energy and has not been tested 
for compliance with the limits of computing devices pursuant to subpart J of 
part 15 of FCC rules, which are designed to provide reasonable protection 
against radio frequency interference. Operation of this equipment in other 
environments may cause interference with radio communications, in which case 
the user at his own expense will be required to take whatever measures may be 
required to correct this interference.

Preface

Read This First

How to Use This Manual

This document contains the following chapters:

Chapter 1-Introduction

Briefly introduces the TMS340 Graphics Library and describes the related 
software and hardware development tools.

Chapter 2-Getting Started

Contains instructions for installing the graphics library on PC systems, 
describes the files that are shipped with the library package, provides 
examples of compiling, assembling and linking C programs that call the library 
functions, and illustrates the use of the archiver utility with the library.

Chapter 3-Graphics Library Overview

Describes the text and graphics capabilities of the library, the bit-mapped 
fonts bundled with the library, the library's relationship to the TIGA Core and 
Extended Primitives, and the system implementation issues involved in porting 
or extending the library.

Chapter 4-Graphics Operations

Presents the library's conventions regarding coordinate systems, the mapping of 
pixels to coordinates, operations on pixels, clipping, and the geometric 
figures and rendering styles supported by the library.

Chapter 5-Bit-Mapped Text

Describes the text capabilities of the library, the types of fonts supported, 
the internal structure of the database for each font, and an alphabetical 
listing of the available fonts.

Chapter 6-Core Primitives

Provides a page-by-page alphabetical listing of the TIGA Core Primitives 
included as part of the graphics library, along with detailed descriptions and 
programming examples.

Chapter 7-Extended Primitives

Provides a page-by-page alphabetical listing of the TIGA Extended Primitives 
included as part of the graphics library, along with detailed descriptions and 
programming examples.

Appendix A-Data Structures

Describes the key data structures in the graphics library environment.

Appendix B-Reserved Symbols

Lists the global symbols defined within the graphics library.

Appendix C-Glossary

Defines the technical terms used in this manual.

Related Documentation

The following documents are available from Texas Instruments:

TMS34010 User's Guide (literature number SPVU001A)

Describes the internal architecture, hardware interfaces, programmable 
registers and instruction set of the TMS34010 32-bit graphics processor chip.

TMS34020 User's Guide (literature number SPVU019)

Describes the internal architecture, hardware interfaces, programmable 
registers and instruction set of the TMS34020 32-bit graphics processor chip.

TMS340 Family Code Generation Tools User's Guide (literature
number SPVU020)

Describes the C compiler, assembler, linker, and archiver for the TMS340x0 
Graphics System Processors.

TIGA-340 Interface User's Guide (literature number SPVU015A)

Describes the architecture of the TIGA (Texas Instruments Graphics 
Architecture) software interface between a host processor and a TMS340 graphics 
processor, which includes the applications interface, communications driver, 
and graphics manager.

TMS340 Family Third Party Guide (literature number SPVB066C)

Lists the TMS340x0-based hardware and software products available from third 
parties.

TMS34010 Software Development Board User's Guide (literature number 
SPVU002)

Describes the TMS34010 SDB, which is a PC add-in graphics card that serves as a 
hardware platform for developing and testing TMS34010 software.

TMS34020 Software Development Board User's Guide (literature number 
SPVU016)

Describes the TMS34020 SDB, which is a PC AT add-in graphics card that serves 
as a hardware platform for developing and testing TMS34020 software.

TMS34092 VGA Interface Chip User's Guide (literature number SPVU026)

Describes the TMS34092, which is a memory and pixel pipeline peripheral for 
low-cost PC video adapters with VGA pass-through capability and TMS34010 
graphics processing power.

TMS34010 CCITT Data Compression Library User's Guide (literature number 
SPVU009)

Describes a library of TMS340x0 assembly-coded functions for compressing and 
decompressing black-and-white images according to the Consultative Committee 
for International Telegraph and Telephone Group 3 and Group 4 standards.

TMS34010/8514 Adapter Interface Emulation User's Guide (literature 
number SPVU010)

Describes the library of TMS340x0 functions for emulating IBM's 8514/A Adapter 
Interface.

TMS34010 Applications Guide (literature number SPVA007A)

Provides examples of hardware and software applications developed for the 
TMS34010.

TMS34010 XDS User's Guide (literature number SPVU008)

Describes the XDS (extended development system) for emulating the TMS34010 
Graphics System Processor chip in a target hardware environment.

TMS34020 XDS User's Guide (literature number SPVU028)

Describes the XDS (extended development system) for emulating the TMS34020 
Graphics System Processor chip in a target hardware environment.

TMS34070 User's Guide (literature number SPPU016A)

Describes the TMS34070 16-color palette chip used on the TMS34010 software 
development board.

To obtain any of TI's product literature listed above, please contact the Texas 
Instruments Customer Response Center at toll-free telephone number (800) 
232-3200.

You may also find the documents listed below to be helpful. The list is 
organized according to subject:

TMS34010 and TMS34020 Graphics System Processors

Asal, Mike, Graham Short, Tom Preston, Derek Roskell, and Karl Guttag. 
"The Texas Instruments 34010 Graphics System Processor."  IEEE Computer 
Graphics & Applications, vol. 6, no. 10 (October 1986), pages 24-39.

Guttag, Karl, Jerry Van Aken, and Mike Asal. -Requirements for a VLSI 
Graphics Processor." IEEE Computer Graphics & Applications, vol. 6, no. 1 
(January 1986), pages 32-47.

Killebrew, Carrell R., Jr., -The TMS34010 Graphics System Processor." 
Byte, vol. 11, no. 12 (December 1986), pages 193-204.

Peterson, Ron, Carrell R. Killebrew, Jr., Tom Albers and Karl Guttag. 
"Taking the Wraps off the 34020. " Byte, vol. 11, no. 9 (September 1986), pages 
257-272.

The C Programming Language

American National Standards Institute. Draft Proposed American National 
Standard for Information Systems - Programming Language C. Document no. 
X3J11/88-002, January 11, 1988.

Kernighan, Brian, and Dennis Ritchie. The C Programming Language. 
Second Edition. Englewood Cliffs, New Jersey: Prentice-Hall, 1988.

Kochan, Stephen G. Programming in C. Hasbrouck Heights, New Jersey: 
Hayden Book Company, 1983.

Sobelman, Gerald E., and David E. Krekelberg. Advanced C: Techniques 
and Applications. Indianapolis, Indiana: Que Corporation, 1985.

Computer Graphics Algorithms

Blinn, James, "How Many Ways Can You Draw a Circle?" IEEE Computer 
Graphics and Applications, vol. 7, no. 8 (August 1987), pages 39-44.

Bresenham, J. E. "Algorithm for Computer Control of a Digital Plotter." 
IBM Systems Journal, vol. 4, no. 1 (1965), pages 25-30.

Bresenham, J. E. "A Linear Algorithm for Incremental Display of 
Circular Arcs." Communications of the ACM, vol. 20, no. 2 (February 1977), 
pages 100-106.

Foley, James, and Andries van Dam. Fundamentals of Computer Graphics. 
Reading, Massachussetts: Addison-Wesley, 1982.

Ingalls, D. H. "The Smalltalk Graphics Kernel." Special issue on 
Smalltalk. Byte, vol. 6, no. 8 (August 1981), pages 168-194.

Knuth, Donald E., "Digital Halftones by Dot Diffusion." ACM 
Transactions on Graphics, vol. 6, no. 4 (October 1987), pages 245-273.

Newman, William M., and Robert F. Sproull. Principles of Interactive 
Computer Graphics. 2nd ed. New York: McGraw-Hill, 1979.

Pike, Rob. "Graphics in Overlapping Bitmap Layers." ACM Transactions on 
Graphics, vol. 2 (April 1983), pages 135-160.

Pitteway, M. L. V. "Algorithm for Drawing Ellipses or Hyperbolae with a 
Digital Plotter." Computer Journal, vol. 10, no. 3 (November 1967), pages 
24-35.

Porter, T., and T. Duff. "Composing Digital Images." Computer Graphics, 
SIGGRAPH Proceedings, vol. 18, no. 3 (July 1984), pages 253-259.

Sproull, Robert F., and Ivan E. Sutherland. "A Clipping Divider." Fall 
Joint Computer Conference, 1968, Thompson Books, Washington, D. C., pages 
765-775.

Van Aken, Jerry R. "An Efficient Ellipse-Drawing Algorithm." IEEE 
Computer Graphics & Applications, vol. 4, no. 9 (September 1984), pages 24-35.

Van Aken, Jerry R., and Mark Novak. "Curve-Drawing Algorithms for 
Raster Displays." ACM Transactions on Graphics, vol. 4, no. 2 (April 1985), 
pages 147-169.

Van Aken, Jerry R., and Carrell R. Killebrew, Jr., "Better Bit-Mapped 
Lines." Byte, vol. 13, no. 3, March 1988, pages 249-253.

Video Memories and Displays

Conrac Corporation. Raster Graphics Handbook. 2nd ed. New York: Van 
Nostrand Reinhold Company Inc., 1985.

Pinkham, Ray, Mark Novak, and Karl Guttag. "Video RAM Excels at Fast 
Graphics." Electronic Design, vol. 31, no. 17 (August 1983), pages 161-182.

Whitton, Mary C. "Memory Design for Raster Graphics Displays." IEEE 
Computer Graphics & Applications, vol. 4, no. 3 (March 1984), pages 48-65.

Style and Symbol Conventions

This document uses the following conventions.

Program listings, program examples, interactive displays, filenames, 
and symbol names are shown in a special font. Examples use a bold version of 
the special font for emphasis. Here is a sample program listing:

main	( )
{
		set_config(0, 1);
		clear_screen(-1);
		set_text_xy(5, 5);
		text_outp("hello, world");
}

Trademarks

Aegis, Domain/IX,  and Apollo are trademarks of Apollo Computer, Inc.
EGA and VGA are trademarks of IBM Corp.
Macintosh and MPW are trademarks of Apple Computer Corp.
MS and MS-DOS are trademarks of Microsoft Corp.
NEC is a trademark of NEC Corp.
Sony is a trademark of Sony Corp.
Sun 3, Sun 4, and Sun Workstation are trademarks of Sun Microsystems, Inc.
UNIX and COFF are trademarks of AT&T Bell Laboratories.
VAX, VMS, and Ultrix are trademarks of Digital Equipment Corp.
XDS, TIGA, and TIGA-340 are trademarks of Texas Instruments, Inc.

