Category : System Diagnostics for your computer
Archive   : XAM102.ZIP
Filename : XAM.DOC

Output of file : XAM.DOC contained in archive : XAM102.ZIP

XAM - The PC XAMiner


Copyright 1988-1993
Jim Hamby

XAM is a relatively small program that I originally wrote way back
in 1988 to determine the BIOS version installed in a PC. Over the years
it has been updated, little by little, to the point where it now recognizes
over 50 different BIOS chips and more than 10 different chipsets. The
purpose of XAM is to search your computer and identify your system
configuration. This includes the ROM BIOS manufacturer, BIOS date, the
type of chipset on the motherboard, and other information. Originally
called ROM, the program underwent a major rewrite in July of 1990, and
again in February 1992. Now called XAM, it includes code that can
determine other important system data.

When can XAM come in handy? Probably more often than you would
suspect, since XAM currently reports:

Brand of ROM BIOS
Motherboard Chipset
ISA or Microchannel Bus type
Math Coprocessor
VGA Chipset, including detection of Sierra or AT&T RAMDACs
on Tseng ET4000 based VGA Cards
Number of Parallel Ports, Serial Ports, and
their addresses
Mouse, type, and number of buttons
DOS Version
Total Conventional Memory
Free Conventional Memory
Extended Memory
Memory Manager (and version, if possible)
386 Control Programs (DESQview, etc. and version)
Number and types of Floppy Disk Drives
Number of Hard Disk Drives, their capacity, and parameters
Hard Disk Controller BIOS
CD-ROM Drives and MSCDEX version

This information can be used when calling a vendor for tech support,
selecting the correct VGA driver for your card, if you need to low-level
format your hard drive XAM can tell you what address your controller's
BIOS is set for so you don't crash the system trying to figure it out
through trial and error, checking the installation of memory, I/O cards,
modems, and more.

XAM is a handy program, but since it searches the ROM BIOS areas for
known identifiers, it may not be able to determine new BIOS types or
chipsets as they are introduced. Fortunately, XAM recognize dozens of ROM
BIOS chips, including a nearly universal AMI BIOS identifier. Currently, the
Video and Hard Drive BIOS detection routines are the most limited
(only 22 so far!). As I get a chance to work with other makes and models,
support for them will be added. If your hardware is unrecognized, XAM
also features a BIOS dump routine that can be invoked to help determine
you equipment configuration.

Program execution is simple (as you probably already found out, since
90% of the people never RTFM) - just type XAM at the DOS prompt. You will
be told the version of XAM, and then anything the XAMination reveals will
be displayed.


XAM requires an IBM compatible PC with at least 64K of free ram. XAM
has been tested with MS-DOS versions from 3.1 through 6.0, and computers
with the following CPUs: 8088, 80286, 80386SX, AM80386SXL, 80386DX,
AM80386DXL, 80486SX, 80486DX.


/1000 - Sets the value of '1K' to 1000 bytes, instead of the standard
1024 bytes. This will result in XAM reporting an apparently
larger hard drive, to match manufacturer's claims (e.g. a
an ST-1144A will report only 124M in standard mode, while
reporting 130M using the /1000 switch).

/NOHD - Disables Hard Disk Size calculations. Useful if the hard
drive has crashed or is unformatted. XAM will still report
any Disk Controller BIOS it finds.

/QUICK - Selects QUICK mode. This disables RAM scans and Hard Disk
Size calculations, which can take a while on slower machines.
This essentially makes XAM work like the original ROM program,
with a few more items detected.

/DUMP - Used mainly for adding support for new BIOS types. This switch
dumps 512 bytes of BIOS data to file called BIOSDUMP.XAM.
The default address is segment F000. This is the motherboard's
ROM BIOS area. To select another segment, enter the desired
address after the /DUMP parameter. Valid segments are:
C000,C800,CA00,CC00,D000,D800,DC00,E800,F000,FFF0. This
command can be used to help determine currently unknown
components. For example, if your VGA card is listed as
"Unknown" by XAM, you could issue the command
and XAM would create a file with the first 512 bytes of
the VGA ROM segment. To add support for your card, send
the resulting BIOSDUMP.XAM file to the author (by mail
or modem), and this bios will be added with the next version
of XAM.



DESQview masks out the serial port ID bytes, making it impossible
for XAM to determine a serial port's address. XAM will still report
how many serial ports it finds.


If the CMOS on 286/386/486 type machines is set for anything other
than 'None', XAM will report the presence of a hard drive.

XAM cannot calculate drive capacity on Weltec PHDs (Portable Hard
Drives). The Weltec device driver will cause the computer to
lock up. Use the /NOHD switch to skip drive size calculations.


If you are running QEMM 6.0 or higher and using Stealth mode, XAM
may not be able to determine the BIOS type or Chipset, since QEMM's
Stealth technology moves this information from the original areas.
Using the command XAM /DUMP FFF0 may provide more information regarding
the BIOS type.


This may appear as reports of a Microchannel Bus on ISA PCs (known
to happen with certain Phoenix Bios based machines), Multiple serial
or parallel ports with the same address (some Zenith Z-248 series).
These reports can be generated by several things, the main ones being
a ROM BIOS that is not entirely 100% IBM compatible, or software such
as a device driver that masks or alters memory pointers. XAM is
written using standard interrupts and function calls, so if you boot
with a 'bare-bones' configuration and you still get strange results,
it may not be XAMs fault. I try to account for all the exceptions I
come across, but I'm only one guy agains 100 million PCs...


A sample of XAM's results is shown below:

XAM - PC Examiner Version x.xx - Copyright 1988-1993 Jim Hamby

This XAMination has determined the following:

ROM BIOS Type & Date : AMI, 12/12/91
Motherboard Chipset : UMC, ISA Bus
Math Coprocessor : Installed
Display Adaptor : Tseng Labs ET4000 SVGA, 04/26/91 V8.00 Sierra HiColor
I/O Ports : 1 Parallel - LPT1, 2 Serial - COM1 COM2
Mouse : 3 button
DOS Version : 5.0
Conventional Memory : 655360 bytes
Free Conventional : 566016 bytes
Extended Memory : 3407872 bytes
Memory Manager : QEMM-386 Version 6.02
Control Program : DESQview Version 2.40
Floppy Disk Drives : 1.2M 1.44M
Disk Controller BIOS : None
Hard Disk Drives : 1
Drive Drive 0 : 406 Megabytes - 895 Cyl/15 Heads/62 Sectors
CD-ROM Drive(s) : 1
MSCDEX Version : 2.20

XAM is distributed as shareware. Disk vendors may not distribute XAM
without permission. Write the author at the address below, and be sure to
include your catalog or information sheet regarding shareware software.
Individuals may pass unmodified copies of XAM along to others, provided it
is not used for any commercial purpose or financial gain. XAM is a
copyrighted work, and represents many hours of labor. If you find it handy,
please register by filling out the registration form, XAM.REG, and mailing
it and the $10.00 registration fee to:

Jim Hamby
13-J Aquahart Rd.
Glen Burnie, MD 21061

If you don't, be assured that this will gnaw away at your sub-concious
until, one day, you snap from the strain and end up in a looney bin wondering
'Why didn't I just send the money?'

The latest version of XAM can always be found on:

The Comp-U-Type BBS
(410) 761-1292

Upload your BIOSDUMP.XAM file to the BBS for your BIOS to be added in
the next version of XAM. When the system asks for a file description,
leave as much information as possible (e.g. is this for a VGA Card, a
Hard Disk controller, what brand, etc.)

  3 Responses to “Category : System Diagnostics for your computer
Archive   : XAM102.ZIP
Filename : XAM.DOC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: