Table of Contents
SuperProbe - probe for and identify installed video hardware.
SuperProbe
[-verbose] [-no16] [-excl list] [-mask10]
[-order list] [-noprobe list] [-bios base]
[-no_bios] [-no_dac] [-no_mem] [-info]
SuperProbe is a a program that will attempt to determine the
type of video hardware installed in an EISA/ISA/VLB-bus system by checking
for known registers in various combinations at various locations (MicroChannel
and PCI machines may not be fully supported; many work with the use of
the -no_bios option). This is an error-prone process, especially on Unix
(which usually has a lot more esoteric hardware installed than MS-DOS system
do), so SuperProbe may likely need help from the user.
SuperProbe runs
on SVR3, SVR4, Linux, 386BSD/FreeBSD/NetBSD, Minix-386, and Mach. It should
be trivial to extend it to work on any other Unix-like operating system,
and even non-Unix operating systems. All of the OS dependencies are isolated
to a single file for each OS.
At this time, SuperProbe can identify MDA,
Hercules, CGA, MCGA, EGA, VGA, and an entire horde of SVGA chipsets (see
the -info option, below). It can also identify several HiColor/True-color
RAMDACs in use on SVGA boards, and the amount of video memory installed
(for many chipsets). It can identify 8514/A and some derivatives, but not
XGA, or PGC (although the author intends to add those capabilities). Nor
can it identify other esoteric video hardware (like Targa, TIGA, or Microfield
boards).
- -verbose
- SuperProbe will be verbose and provide lots of information
as it does its work.
- -no16
- SuperProbe will not attempt to use any ports that
require 16-bit I/O address decoding. The original ISA bus only specified
that I/O ports be decoded to 10 bits. Therefore some old cards (including
many 8-bit cards) will mis-decode references to ports that use the upper
6 bits, and may get into funny states because they think that they are
being addressed when they are not. It is recommended that this option be
used initially if any 8-bit cards are present in the system.
- -excl list
- SuperProbe
will not attempt to access any I/O ports on the specified exclusion list.
Some video cards use rather non-standard I/O ports that may conflict with
other cards installed in your system. By specifying to SuperProbe a list
of ports already in use, it will know that there cannot be any video cards
that use those ports, and hence will not probe them (which could otherwise
confuse your hardware). The exclusion list is specified as a comma-separated
list of I/O ports or port ranges. A range is specified as "low-high", and
is inclusive. The ports can be specified in decimal, in octal (numbers
begin with '0'), or hexadecimal (numbers begin with '0x').
- -mask10
- This option
is used in combination with -excl. It tells SuperProbe that when comparing
an I/O port under test against the exclusion list, the port address should
be masked to 10 bits. This is important with older 8-bit cards that only
do 10 bit decoding, and for some cheap 16-bit cards as well. This option
is simply a less-drastic form of the -no16 option.
- -order list
- This option specifies
which chipsets SuperProbe should test, and in which order. The list parameter
is a comma-separated list of chipset names. This list overrides the built-in
default testing order. To find the list of acceptable names, use the -info
option described below. Note that items displayed as "Standard video hardware"
are not usable with the -order option.
- -noprobe list
- This options specifies
which chipsets SuperProbe should not test. The order of testing will either
be the default order, or that specified with the -order option described
above. The list parameter is a comma-separated list of chipset names. To
find the list of acceptable names, use the -info option described below.
Note that items displayed as "Standard video hardware" are not usable
with the -noprobe option.
- -bios base
- This option specifies the base address
for the graphics-hardware BIOS. By default, SuperProbe will attempt to locate
the BIOS base on its own (the normal address is 0xC0000). If it fails to
correctly locate the BIOS (an error message will be printed if this occurs),
the -bios option can be used to specify the base.
- -no_bios
- Disallow reading
of the video BIOS and assume that an EGA or later (VGA, SVGA) board is
present as the primary video hardware.
- -no_dac
- Skip probing for the RAMDAC
type when an (S)VGA is identified.
- -no_mem
- Skip probing for the amount of
installed video memory.
- -info
- SuperProbe will print out a listing of all
the video hardware that it knows how to identify.
To run SuperProbe
in its most basic and automated form, simply enter:
SuperProbe
Note - you
may want to redirect stdout to a file when you run SuperProbe (especially
if your OS does not support Virtual Terminals on the console).
However,
if you have any 8-bit cards installed, you should initially run SuperProbe
as:
SuperProbe -verbose -no16
(the -verbose option is included so you can
see what SuperProbe is skipping).
Finer granularity can be obtained with
an exclusion list, for example:
SuperProbe -verbose -excl 0x200,0x220-0x230,0x250
which will not test for any device that use port 0x200, ports 0x220 through
0x230, inclusive, or port 0x250. If you have any 8-bit cards installed,
you should add -mask10 to the list of options.
To restrict the search to
Western Digital, Tseng, and Cirrus chipset, run SuperProbe as follows:
SuperProbe -order WD,Tseng,Cirrus
Probably a lot at this point. Please
report any bugs or incorrect identifications to the author.
It is possible
that SuperProbe can lock up your machine. Be sure to narrow the search
by using the -no16, -excl, and -mask10 options provided to keep SuperProbe
from conflicting with other installed hardware.
The vgadoc3.zip documentation
package by Finn Thoegersen, available in the MS-DOS archives of many FTP
repositories.
Programmer's Guide to the EGA and VGA Cards, 2nd Ed, by Richard
Ferraro.
David E. Wexelblat <dwex@xfree86.org>
with help from David Dawes <dawes@xfree86.org> and the XFree86 development
team.