ATI mach32 Programmer's Reference Manual Information
ATI Technical Note #074 
November 8, 1993

Programmer's Reference Manuals for mach32 Accelerators


CONTENTS

     INTRODUCTION        
     AVAILABLE MATERIALS
     WHAT IS NOT AVAILABLE
     PLEASE READ BEFORE ORDERING
     DISCLAIMER
     ORDER FORM


INTRODUCTION

Thank you for your interest in obtaining programming documentation
for ATI products based on the ATI mach32 graphics accelerator
chipset. Products using this chipset include the Graphics Ultra
Pro, Graphics Ultra + and various products that ATI manufactures
for computer vendors. This document describes the mach32
Programmer's Kit, its purpose  and how to obtain the kit. It also
describes what materials are NOT available and the terms and
conditions by which we are offering the kit.

ATI has not publicly announced the availability of the mach32
Programmer's Kit because the material are not complete at this
time. However, what we are offering today may be sufficient to meet
some programmers' requirements. Please read this document carefully
before placing an order.


AVAILABLE MATERIALS

1)   Programmer's Guide to the mach32 Registers

           A 350 page register specification detailing all 252
           registers including all VGA, 8514/a and ATI Mach-8
           compatible registers. Subjects include the Bresenham
           vector & polygon drawing engine, the Direct Draw drawing
           engine, the BitBLT engine, the hardware cursor, the pixel
           transfer ALU and CRT controller.

           The register specification is a reference for programmers
           with experience writing device drivers for graphics co-
           processors at the register level.

2)   Programmer's Guide to the mach32 Adapter Interface

           The Turbo AI is a high level interface compatible with
           the IBM Adapter Interface Specification. It is
           implemented as a TSR which provides a set of callable
           high level functions for mode selection and
           initialization, primitive drawing functions, colour
           palette manipulation, font handling and other useful
           functions. Modes supported are 640X480 and 1024X768 /256
           colours only. Other resolutions and colour depths
           supported by the hardware are outside the AI
           Specification.

           ATI recommends the AI to those programmers who would like
           to take advantage of hardware assisted drawing capability
           without a heavy investment in development time or if
           register level device driver expertise is not available.

3)   mach32 Application Notes

           AN0001 - Accessing Video RAM via the Linear or Banked
           Memory Aperture

                  This discusses techniques for accessing the video
                  RAM, the Linear Aperture and the VGA Aperture. The
                  Linear Aperture make use of a relocatable Extended
                  memory address. It offers true 32 bit linear
                  addressing for enhanced performance for protected
                  mode software. The VGA aperture allows the video
                  memory to be addressed like a SuperVGA card. It
                  provides access to up to 2M of RAM via banking for
                  real mode software.

           AN0002 - Setting screen modes using the Adapter ROM

                  This discusses the use of internal ROM routines to
                  set up and initialize all supported
                  resolution/colour modes. 

           AN0003 - Detection of a mach32 adapter

                  This covers identification of mach32 products via a
                  combination of the ATI ROM signature and register
                  read/writes.

           AN0006 - Drawing Solid or Patterned Lines with Hardware

                  - This discusses the use of the ATI Direct Draw
                  Engine for high speed vector drawing.

4)   VESA Interface Disk

           A 3.5" HD diskette containing a TSR which supports the
           VESA SuperVGA BIOS Extension standard on mach32 products.
           Resolutions supported up to 1024X768 in 16, 256 and 32K
           colours. A utility which can display the supported video
           mode is supplied along with an demonstration program
           which uses VESA mode 116h (1024X768/32K colour).


WHAT IS NOT AVAILABLE
 
     ATI intends to offer additional application notes on polygon
     drawing, BitBLT engine operation, hardware cursor and text
     generation. A set of sample code segments in MS C and MASM is
     also planned. These items are planned for release by the end
     of first quarter, 1993.

     ATI does NOT plan to offer a linkable graphics function
     library or high level interface for our products. However, ATI
     encourages and assists developers of commercial graphics
     library packages to support our products. None of these
     graphics library vendors have yet announced a version which
     supports the mach32. If you are a current user of a graphics
     library, please contact the manufacturer for information about
     if and when they plan to release a version which supports ATI
     mach32 products.


PLEASE READ BEFORE ORDERING 

The mach32 is a uniquely flexible device which is compatible with
IBM VGA, 8515/a and earlier ATI SuperVGA and Accelerator products.
It is entirely possible to implement software which uses the mach32
as a SuperVGA, as a linear frame buffer or as an accelerator card. 


Application notes 1, 2 & 3 contain sufficient information for the
experienced programmer to use all high resolution and/or high
colour modes of the mach32 as a SuperVGA or linear frame buffer
card. If you are not familiar with Super-VGA programming
techniques, ATI offers the VGAWONDER Programmer's Reference Manual.


The mach32 also contains a high performance graphics engine. This
provides hardware assist for vector/polygon drawing, screen to
screen BitBLT, hardware cursor and several other functions.
Programming the graphics engine is much different and more
difficult than any conventional frame buffer card (EGA, VGA..etc).
Only programmers with experience designing graphics primitive
functions and writing device drivers for programmable peripheral
devices on the PC should attempt to access the engine directly. We
would recommend that unless you already have experience with other
accelerator cards, such as 8514/a or XGA, or have source code
examples for such cards that you delay ordering until our example
code is released. Otherwise, ATI recommends using the Adapter
Interface or obtaining a graphics library from a third party
vendor. 

All examples are written in MS C and MS MASM. Familiarity with the
syntax and conventions of these compilers is required. ATI does not
support other compilers and will not assist with conversion of
sample code to other compilers.

ATI Customer Support will assist with installation, configuration
and basic information but will not be able to answer specific
programming questions.


DISCLAIMER

Please note that the materials within the mach32 Programmer's Kit
are provided on as "as is" basis although every effort has been
make to ensure that the documents in the kit are complete and
accurate.


ORDER FORM:  ATI mach32 Programmer's Kit

The mach32 Programmer's Kit is now available for only $US50 plus
delivery charge. Orders can be placed by filling out this form and
FAXing or mailing it to ATI Customer Support at the following
address:
           ATI Technologies Inc.
           Customer Support Department
           33 Commerce Valley Drive East
           Thornhill, Ontario
           Canada        L3T 7N6
           phone         +(905) 882-2626
           fax           +(905) 882-0546

Payment will only be accepted with a valid VISA, MasterCard or
American Express number. Customer Support will ship your
programmer's kit as soon as your credit card charge is approved.
Please allow 7-10 days for ground delivery. Allow more time for
mail delivery outside North America. Additional shipping charges
may be applied for faster delivery methods (see below). No refunds
will be offered.

Delivery by (circle one): 
Ground Courier ($15, North America Only)
Air Courier ($20, North America Only)
Overseas Courier ($25, All countries outside North America, no overnight
  delivery available)

CREDIT CARD INFORMATION
Circle One:  VISA / MasterCard / American Express
Card Number:
Expiry Date:
Cardholder's Name (exactly as it appears on the card):

First Name:
Last Name:
Title:
Cust# (optional):
Company:
Address:
City:
Prov/State:
Postal/Zip:
Phone:
Alternate Phone:
Fax:
Country:

I DECLARE THAT I HAVE READ AND UNDERSTOOD THIS DOCUMENT AND I AGREE
TO THE TERMS AND CONDITIONS CONTAINED WITHIN.

signed:  ___________________________________               
Dated: _____ / ______/ ___________