ATI Graphics Ultra Pro
- ATI GRAPHICS ULTRA MCA Video Acc.
Graphics Ultra Pro BIOS ST M27C256B-12 28 pin DIP
Version 2.2 / 10-02-94, VGA ENABLED
- ATI GRAPHICS ULTRA MCA Video Acc.
Version 2.2 / 10-02-94, VGA DISABLED
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.
- Problems with ATI Mach32 Video Adapter on MCA Computer
Version 2.6 Win 3.1x display and Multimedia Video Acceleration drivers
>>>The bundled drivers with W95
and NT are the most current.
OS/2 2.1x and OS/2 3.0 Warp display drivers
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.
Identifying the graphics
controller on an ATI product
Setup Tips (ATI Site)
112-19201-106 Odd / 112-19201-106 Even
ATI GUP Board
ATI GUP Alone
Alone Under W95
with ATI Mach32 Video Adapter on MCA Computer
GUP under Linux
for XFree86[tm] 184.108.40.206
ATI Graphics Ultra
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
JU5 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. See HERE for conficts with
memory managers, COM4, and network cards. See HERE
for conflicts during configuration.
JU6 DAC Select Jumper
CLOSED = 68830 DAC
OPEN = 68875 DAC
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
JU9 IRQ Jumper
The manual cheerfully sez: The IRQ jumper is not used,
do not enable it. This jumper should be left open.
JU10 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 or on an addin card) for
system operation. The mach32 card operates as an auxiliary video card only.
>I'm having problems getting X running on my new machine running linux.
I have an ATI Ultra XLR 2MB Video card, and a Gateway 1572FS monitor.
Robert Seward wrote:
I just went through the same thing last week. I
called ATI to get the clocks needed for the Ultra XLR. It turns out
that the clock chip used on that (ATI18811-2) has the same clocks at the
ATI18811-1. The clocks for that chip is listed near the bottom of
the AccelCards file:
100.0 126.0 92.4 36.0
50.35 56.64 0.0 44.9
135.0 32.0 110.0 80.0
39.91 44.9 75.0 65.0
The monitor times given for the Gateway 1572FS did not work quite
right for me - the video was not centered. I modified it slightly,
but I don't have the numbers with me.
One problem I did not solve was X telling me that it could
only use 1M of the video RAM when the man pages says that it can use 2M.
It is just annoying right now, since anything more that 1024x768 on a 15"
monitor is impossible to see, but I would like to know in case I get a
bigger monitor one day.
ATI GUP Alone in a
Take this with a grain of salt. The Farmer City Madman did it without
the nutroll. 12 Nov 2005
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
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
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
hit F10, a little warning pops up, telling you that an adapter may
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
(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
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-
:*** 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.
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.
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.
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
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.
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.
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.
|VGA or PS/2
|ALR FlexVIEW 2X
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)
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)
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.
For a real heavy-metal grunge, look HERE
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)
NOTE: The VGA memory size does
not affect the mach32 driver performance or functionality.
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.
Memory Aperture Configuration Issues ATI Tech Note #067
The following information describes common configuration
issues which may arise when configuring the Memory Aperture feature of
the GRAPHICS ULTRA PRO or GRAPHICS ULTRA+ video adapter.
The Memory Aperture feature on the mach32
products is an option which moves the video frame buffer into the motherboard
system memory address space to improve performance. While not required
to access the color and resolution capabilities of the mach32, some ATI
drivers and utilities will take advantage of the memory aperture if it
The main reason for a direct memory aperture feature
is that it allows an application to write to the video display memory directly,
bypassing the overhead of the standard "paging" system required by VGA
and SVGA cards. The major benefits of a memory aperture are apparent when
dealing with graphics which are not "vector-based", such as continuous
tone bitmapped images.
In an aperture-disabled configuration, these graphics, which cannot
be easily translated into vector-based commands for the mach32 accelerator,
must be passed through the standard "video memory window" in the A000-AFFF
region, just above 640k. Since the standard VGA window is only 64k in size,
moving a large image onto the screen can involve several operations. With
a memory aperture available, a single operation can write the image from
system RAM into video RAM.
On EISA, 32-bit MCA and VLB architectures, there is an additional
performance advantage as compared to ISA. These busses support 32-bit data
transfers, and generally operate at higher speeds than the 16-bit ISA bus.
Thus, while the main function of the mach32 chipset - offloading screen
vector processing from the CPU - is unaffected by the hardware platform
or the state of the memory aperture, the processing of bitmapped images
will be more rapid on machines in which the memory aperture feature is
available, and even faster on a 32-bit high speed bus.
The "memory aperture" feature of our ISA mach32 products can only
be enabled in systems having less than 12MB of RAM installed. This is due
to the 16MB address limitation on the ISA bus. Our memory aperture can
be enabled only within the addressable space on the bus. If this space
is occupied by system RAM it is impossible to have the "aperture" share
There is a feature in the INSTALL program which checks to see
how much memory is in the system. If 16MB are detected in an ISA system,
INSTALL will display a warning. Unfortunately, some versions of INSTALL
will display the warning message whether you've attempted to enable the
"memory aperture" feature or not. If your "power up configuration" shows
the memory aperture to be disabled, you can ignore any warning messages.
If you have an ISA system with less than 12MB of RAM installed
and the Memory Aperture feature will not enable, there is likely a problem
either with the memory manager, or with the motherboard DIP switches or
jumpers. Disable any memory management software (EMM386, QEMM, 386MAX,
etc) and try again. If this doesn't help, check the CMOS setup to be sure
that the correct amount of system RAM is being reported.
Make sure that the system CMOS is not set to "cache" the memory
area in which the mach32 memory aperture will be installed. Some CMOS setups
allow you to define a "cachable memory size" option. Make sure that
this is set to the actual amount of system RAM installed. Other setup routines
will allow you to define a "non cachable block". If this is how your CMOS
operates, be sure to define the memory aperture location as a "non cachable
block". It may be necessary to adjust the motherboard
DIP switches or jumpers
to properly reflect the amount of system RAM installed. Check your motherboard
manual for details.
On an ISA system, the default aperture state is "disabled". The
default positioning of the aperture, once enabled, is at the 10MB location.
We have found that 12MB is more appropriate for systems in which a "non-cachable
block" must be defined in the CMOS. The aperture size will be 4MB for a
2MB mach32, and 1MB for a 1MB mach32. INSTALL versions 2.1 and later
will automatically place the memory aperture at an appropriate location
if you choose to enable it.
ATI mach32 products designed for other bus specifications (EISA,
32-bit MicroChannel, and VESA Local Bus) fall under the same sort of limitations
as the ISA models, but the maximum memory address for the aperture
is much higher (128MB), so the possibility of a conflict with installed
system RAM is slight.
The recommended memory aperture location for the EISA and VLB
mach32 products is at the default 124MB setting. INSTALL version
2.1 or later will automatically place the aperture in this location
if you elect to enable it.
Very early versions of the mach32 Windows driver would not operate
if the memory aperture was disabled. This problem has been resolved
in more recent versions of the driver. Ensure that you're using a
driver version of 2.0 or later to take full advantage of the memory
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
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.
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
5. Save the new configuration, exit the INSTALL program and POWER OFF
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
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
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.
> 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
"there is a timing problem in The Revision 3 MACH 32 CHIP ITSELF!! Its
a hardware problem. No amount of messing with the software will fix
it. check the revision of the Mach32 chip. if the rev number ends
in 3 ie: 6880003 replace it with a revision 6 chip and all should be ok."
(Ed. uh, it's not socketed, so how
to easily swap in a new ASIC is beyond me)
(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).
ATI GRAPHICS ULTRA MCA Video Accelerator (VGA ENABLED) 10/02/94 v2.2
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
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