ATI Graphics Ultra Pro
Identifying the graphics controller on an ATI product 
Drivers
ATI GUP Board
   Jumpers
ATI GUP Alone
   Alone Under W95
   Problems with ATI Mach32 Video Adapter on MCA Computer
INSTALL menu
   Set Power-Up Configuration
   Custom Monitor Configuration
   Power-Up Video Mode-
   Memory Aperture
   VGA Memory Size
Only 640x480x256 Under Why9x
GUP under Linux
ASIC Revision
ADF Sections


Drivers

@8089.adf ATI Graphics Ultra Pro (mach32) 
M32UTL.ZIP  Installation and configuration utilities (INSTALL.EXE v2.3) for mach32 products - EISA and MCA config files, DPMS, VVESA, VDIF, VGRAF and DOS mouse drivers included. 
Q137363 - Problems with ATI Mach32 Video Adapter on MCA Computer 
32WIN260.ZIP  Version 2.6 Win 3.1x display and Multimedia Video Acceleration drivers 
>>>The bundled drivers with W95 and NT are the most current. 
32OS2260.ZIP OS/2 2.1x and OS/2 3.0 Warp display drivers 
32W95DPM.ZIP Win95 DPMS patch for all mach32 based products. Please see 32W95DPM.TXT for more details. Note: This is a patch for the existing Windows 95 mach32 display driver adding DPMS capabilities for VESA compliant Display Power Management Signaling (DPMS) monitors only, it does not add any further enhanced features to the mach32 display drivers for Windows 95. 

Release Notes for XFree86[tm] 3.3.3.1



ATI Graphics Ultra Pro

RAMDAC Older boards use an ATI 68875 CFN, newer ones use a TI TLC 34076-135FN. The TI chip responds as an ATI 68875 under the install program and other diagnostic applications 


Jumpers

ROM Enable/Disable Jumper
In some system configurations, the BIOS ROM address of the GUP may conflict with other system BIOS ROMs. To prevent an error message, set the jumper to ROM Disable which will disable the ROM BIOS until configuration is complete. 

Compatability/Performance Jumper
This is usually in the performance setting. Some MCA systems may have timing problems when the MCA card runs at maximum speed, showing a corrupted VGA screen. Setting the jumper to Compatibility should correct this problem. 

IRQ Jumper
The manual cheerfully sez: The IRQ jumper is not used, do not enable it. This jumper should be left open. 

VGA Disable Jumper
   I have no experience with trying to run a dual-monitor configuration. But read on and see what it does...  To use the GUP with another VGA controller, you must first disable the VGA portion of the GUP. Set the VGA Enable/Disabled jumper to the Disabled position. 
   Whether operating as VGA Enabled or VGA Disabled, a Base Video must be present (either on the motherboard (8590/9590) or on an addin card) for system operation. The mach32 card operates as an auxiliary video card only. 



ATI GUP Alone in a 95
I have replicated the GUPification process. 

FIRST and MOST IMPORTANT - get the @8089.ADF from M32UTL.ZIP or from Peter's site (above) extract all files to a floppy.
Run setup, copy an options disk. Exit setup. Power down. 
   Install the GUP in #7 (85/95) or #3 (90). Put a terminator plug on the base video card. Hook up the monitor to the GUP. Do NOT install jumpers. NO JUMPERS.
   Power up. When autoconfig pops up, don't. set configuration>change
configuration. XGA-2 will be set to no resources (at this time). The GUP
MUST show a line for a ROM address range. If it doesn't, you have the
old adf (and you didn't believe me about extracting that m32utl file
either).
   F10, save config. F3 to exit. Exit setup, boot successfully, then run
INSTALL.EXE from the floppy (DOS program). Set GUP to VGA. Save
settings. Exit install. Reboot.
   NOW listen up! Set the XGA-2 ROM Address Range to C6000-C7000. It will show the asterix for a conflict.... No S.H.I.T., that's what we want.
hit F10, a little warning pops up, telling you that an adapter may be
disabled hit enter.
   At this point the XGA-2 adapter is no longer providing base video... The king is dead! Long live the king!
   Boot to confirm that you have video. You should.
   Shut down. Remove BVE card. Power up, run setup. Do NOT autoconfig
(though it might not diddle anything, why chance it?).
   Set configuration>change configuration. F10 to save (all you are doing
is confirming the BVE card is gone). Exit setup. 

You now should have a lone GUP.

Single Card Settings
   Run INSTALL. Under Power Up menu- 
Monitor Type: VGA 60Hz 640x480 
Power Up Video Mode: VGA (CV80) 
Memory Aperture Size: Disabled 
VGA Memory Size: Shared 

Single GUP Under W95
   It's almost (ALMOST) fully supported under Windowze95. Clear every other adapter out of the C000-CFFF block. The only range that isn't right is the I/O range of 2E0-2E7. The ATI uses- 
[VGA.LogConfig] 
ConfigPriority=HARDWIRED 
IOConfig=3B0-3BB 
IOConfig=3C0-3DF 

:*** The GUP uses IO of 2E0-2E7. Non-configurable. How can I set the IO ranges used by the GUP? 

Addresses used under W95
   I went through Device Mangler. The GUP uses EACH block from 03B0-03DF. This takes in the IBM Parallel 1, which is 3BC-3BF. 



Trivia
Hi Jim, 
  Do I read you right? You have an XGA-2 *AND* an ATI GUP in the same machine, but can't get anything better than 640x480? In that case, you're *not* using the GUP (which should be jumpered for 'VGA Disabled' if you have the XGA-2 installed, otherwise, *both* cards are responding to the VGA I/O and memory addressing!!? Very bad idea!). 
   NOTE: the ATI card's POS Id. changes when you change the jumper from 'VGA Enabled' to 'VGA Disabled' and vice versa, so you will get a 165 error after changing the jumper . Which card is the monitor  plugged into? Which slot is the ATI plugged into? (AVE slot required for VGA 'passthru' from XGA-2, if monitor plugged into ATI). Have you INSTALL-ed your monitor's scan rates into the ATI EEPROM? Once that has been done correctly, you can use 8514/A drivers if all else fails (ATI GUP is 8514/A register compatible). Not the fastest though. The pre-requisite list is fairly large. Plus, I'm not familiar with the 9517s spec.s/limitations. 



Some notes-
ROM BIOS Address- If you are using extended memory managers such as QEMM, 386MAX or EMM386, be sure to use an EXCLUDE statement to protect the mach32 ROM Address space. (ex. X=C800-C9FF) 
Com4 Conflict- The GUP uses I/O port address from 2E0-2EF. This will conflict with systems using COM port 4. You must disable COM port 4 in order to use the GUP. 
Network Cards- Many NICs have a default I/O port base address of 2E8. This conflicts with the GUP. The NIC must be reconfigured, since the address of the GUP is not configurable. 
Memory Aperture- If your system is fully populated with system memory (My interpretation is the 640K conventional plus 384 upper), the memory aperture feature must be disabled. (So with the 90/95 machines, I think Memory Aperture disabled would be a good bet. Mine's disabled) 

What is this Terminator Plug?
Well, it goes on the Base video card or the Base Video port for on-board video. Brad Parker sent me some info HERE

Some personal experiences with my GUP-
The GUP goes in Slot 7 of your 8595/9595. Your Base Video card (use an IBM SVGA card, don't waste a XGA-2 on this) goes in Slot 5.  All jumpers are open. 



INSTALL Menu
   You must run the ATI setup utility called INSTALL.EXE to initialize the GUP. This utility is DOS based, so you may have to boot with a DOS floppy with the utility on it. Set the card to VGA. Use the Windoze or OS/2 drivers to change the configuration later. 

The Main Selection Menu has six sub-menus. 
Set Power-Up Configuration 
Set Current Video Mode 
Test Graphics Adapter 
Install Video Adapter Utilities 
Install Device Drivers 
Install Adapter Interface 

Set Power-Up Configuration
Monitor Type Sets a preset or custom configuration for your monitor. 
If you're lucky, you have one of the below monitors. If you don't, then the Custom Monitor Configuration is for you. 
Monitors 640x480 800x600 1024x768 1280x1024
VGA or PS/2 60Hz
NEC 2A 60Hz 56Hz
ALR FlexVIEW 2X 60Hz 56Hz
IBM 8514 60Hz 95Hz(i) 87Hz(i)
IBM 8507 60Hz 95Hz(i) 87Hz(i)
NEC 3D 60Hz 60Hz 87Hz(i)
NEC 4D 60Hz 60Hz 60Hz 87Hz(i)
NEC 4D/5D 72Hz 72Hz 70Hz 87Hz(i)
NEC 5D 72Hz 72Hz 72Hz 60Hz
NEC 5FG 72Hz 76Hz 76Hz 70Hz

Custom Monitor Configuration
In the Install program, choose Set Power-up Configuration, then Monitor Type, then Custom. 
Your choices are: (this will be painful, but it's for your own good) 
640x480 Mode 800x600 Mode  1024x768 Mode  1280x1024 Mode 
  56Hz    
60Hz 60Hz 60Hz 60Hz
    66Hz  
  70Hz 70Hz 70Hz
72Hz (40/32MHz) 72Hz 72Hz  
      74Hz
  76Hz 76Hz  
    87Hz (I) 87Hz (i)
  89Hz (i)    
  95Hz (i)   95Hz (i)

Power-Up Video Mode-
   The GUP can be configured to power up in VGA, EGA, CGA, MDA 720x348 or MDA 640x400 mode. In most cases, you will want the card to power up in VGA Mode (default setting) 

Memory Aperture
   The drivers included with this card automatically sense if the memory aperture is enabled or disabled, and reconfigure accordingly. The memory aperture is a feature which maps the graphics card memory to the main system memory to improve graphics performance in high color modes. You will not notice any appreciable difference in functionality or performance in 256 color modes. 
   The location of the memory aperture is determined by the system type and amount of system memory installed. The memory aperture is mapped above the system memory area. The aperture location and size are determined by the INSTALL program when you enable memory aperture. 

VGA Memory Size
If you intend to mainly use Windows applications and the mach32 Windows driver, leave the VGA memory size at the default. Memory on your card is shared between the mach32 VGA and accelerator subsystems. You can set VGA memory size to Shared, 256K, 512K, or 1MB. The size of the VGA memory only affects the resolution/color combinations supported when using SVGA or 8514/A drivers. (Mine is set as Shared) 

  • Shared- This selection provides the best results, allowing any VGA or 8514/A driver to use the maximum memory available. This setting is suitable for most applications except when these need to preserve the contents of VGA memory (for example, DOS boxes in Windows) when used with an 8514/A drivers or for special programming considerations.
  • 256K/512K/1.0MB- Sets the amount of memory dedicated for the VGA controller. This selection affects the resolution/color combinations that are supported when used with either SVGA or 8514/A drivers.
NOTE: The VGA memory size does not affect the mach32 driver performance or functionality. 

mach32 only gets 640@256 or 800@16 in WIN95 / 98
When a mach32 product is installed in Windows 95 or Windows 98, only the following modes are available: 
    640 x 480 at 16 colors or 256 colors 
    800 x 600 at 16 colors only 
This problem occurs because the mach32 board is configured for "factory defaults". 
   The Microsoft-supplied driver for the mach32 reads information regarding mode support directly from the card. If it reads a "factory default" configuration, only the modes shown above are made available. 
   The mach32 product must be configured to match the capabilities of the MONITOR attached, before WIN95 will allow full access to resolution 
and color depth combinations.. 
   This is accomplished using the DOS-based INSTALL program which comes with the mach32 product (mach32 disk #1). The INSTALL program can also be downloaded from the ATI website or BBS. Look for M32UTL.ZIP

Instructions: 
1. Boot to a DOS command prompt. 
2. Run INSTALL. 
3. Select SET POWER-UP CONFIGURATION. 
4. Change the monitor type to one which matches the monitor attached, or use the CUSTOM option to setup each resolution supported by the 
monitor attached. 
5. Save the new configuration, exit the INSTALL program and POWER OFF the machine. 
6. POWER ON, load WIN95, and check the Display Properties panel. Additional resolution and color depth options should now be available. 

GUP under Linux
Brad Parker replies 
Heroic isn't the work I'd use for this procedure... 

I've never been able to get the ATi GUP to run using the Mach32 xserver, however here is the why and how of getting it to display using the generic SVGA xserver. 

   Why: The ATi GUP is a Vesa compliant video card. It also has a firmware configuration utility available. I drive a fixed frequency IBM 6091-19 with mine. As the monitor only works at three specific frequencies, I used the DOS firmware configuration utility to program in my specific needs to the onboard eprom on the GUP. 

How: There are two ways to do this. 
   First there is the hard way which uses a text file, similar to the XF86Config file, which is read by a compiler like program that transfers the info to the eprom on the ATi card. It's about as fun as figuring out dot clocks. At one time Vesa member companies were supposed to supply the owners of their monitors with this file. A few exist out there, mostly for the NEC multisyncs, which really don't need them. Go figure... 
   And there is the Easy way, which is an interactive adjustment program. supplied with the ATi driver diskettes, available on the ATi web site. This DOS program works a lot like the size and sync adjustments on a multisync monitor. It reminds me of the AppleVision software for the Mac. As I knew from the IBM specs what the 6091-19 needed, I just picked the closest preset, which happened to be the Vesa 1280 x 1024 @ 60 Hz mode. This is known as Vesa mode 107h (See Peter Wendt's excellent page on the XGA-2 card for a list of other Vesa modes). I then entered the custom mode. Next I displayed the test pattern with the ATi setup program and used the arrow keys and what not to get the size, centering, sync polarity etc.. correct for my monitor. Then I saved those settings, which get stored on the GUP's eprom chip under, you guessed it, Vesa 
Mode 107h (I gave it a user friendly name, but 107h is where it really is). 
   When setting up your xserver for Linux, choose the generic SVGA server. It's smart enough to figure out that the ATi GUP is a Vesa compliant card. You edit the XF86Config file leaving all the entries for the display settings that correspond to the ones you have programmed in the ATi card using the above procedure. Don't worry about the dotclocks and such, just use the basic resolutions, color depth and vertical refresh rates that are closest to your monitors modes. Delete all of the others that aren't supported by your monitor or the GUP. 
   Now when you start the xserver, it is simply going to send a Vesa mode change to your Vesa compliant ATi GUP card. The card will switch to your custom mode that corresponds to the Vesa mode, like 107h in my particular case. I'm fairly certain that it just ignores the dot clock settings and all. 
   Now when you toggle through the various modes while running X, the generic SVGA xserver just sends out various Vesa mode changes. See the SVGA howto for details on which modes correspond to which resolutions. I've also used the ATi GUP in this manner with a Compaq SVGA and IBM 9524 (14P) and 9525 (15P) monitors. It was significantly easier with the 
multisyncing 14P and 15P than with the fixed frequency 6091-19. Basically with the multisyncs I just used whatever was the default Vesa modes and adjusted the monitors to work with that. 

Hope this sheds some light on the subject. 



ASIC Revision
> I was unable to install NT with linear video memory access enabled. 

From Brad Parker
/* You may have an ATI with the hardware timing error. To check this: 
Use the ATi DOS utilities, type "test /i" and note the ASIC revision.
   If it's 0, then ATI's drivers won't work very well. Numbers above 6 are
the fixed card numbers.  Between 1 and 6 are may or may not work. */
   I have no problems with my GUP and NT 4 sp4. My ASIC revision is 7 IIRC

(Ed. OR  Control Panel>Display>Display Properties>Display Type, look in the lower left hand at Adapter Information, Chip Type, and it will say Mach32 rev. x).



AdapterId 8089 ATI GRAPHICS ULTRA MCA Video Accelerator (VGA ENABLED)  10/02/94 v2.2

FixedResources (IO)
02E8h-02E8h 02EAh-02EDh 06E8h-06E8h 0AE8h-0AE8h 0EE8h-0EE8h 12E8h-12E8h 12EEh-12EEh 16E8h-16E8h 16EEh-16EEh 1AE8h-1AE8h 1EE8h-1EE8h 22E8h-22E8h 26EEh-26EEh 2AEEh-2AEEh 2EEEh-2EEEh 36EEh-36EEh

Address of BIOS ROM
   The base address of the BIOS ROM cannot be changed. However, some systems have a problem allocating C0000h-C1FFFh during configuration.  For these systems, a second identical choice is provided.
  This overcomes the problem by making it appear that a choice is available to the configuration program.  The ROM JUMPER is used to enable the ROM prior to configuration.  Setting the ROM JUMPER to the DISABLED position disables the ROM, allowing the adapter to co-exist with an unconfigured XGA adapter.  It is important that during configuration, all other adapters be moved away from address C0000h-C7FFFh."

A duplicate choice is required to fix configuration problem on model 76
  <"C0000h-C7FFFh">, C0000h-C7FFFh

9595 Main Page