home *** CD-ROM | disk | FTP | other *** search
- BIOSSIG is a BIOS ROM Signature Identification Database/Program. BIOSSIG
- is a "Work In Progress". It is hoped that the program, written in Borland's
- Turbo Prolog 2.0, can someday be made to appear "artifically intelligent" in
- such a manner as to accurately determine the Signature of a BIOS ROM not in its
- current database. In its current implementation BIOSSIG simply matches the
- contents of its database with the contents of your BIOS. One option looks
- for an exact match and reports its results very quickly. Another option
- only looks at BIOSs that have the same IBM Model Id Byte as your BIOS. This
- option takes longer, but allows you to then scan the signatures of BIOS's with
- signatures similar to the one in your PC. You may also print a formatted
- report describing the signatures of all of the BIOSs known to us today.
-
- BIOSSIG starts in Color, without suppressing CGA "Snow". It's Color scheme may
- be modified from the Optional Customization menu. Some Monochrome adapters
- do not display the default BIOSSIG color scheme (others do). If your monochrome
- screen blanks and all disk activity stops without any messages appearing, then
- monochrome may be selected on start up by including "mono" on the command line.
-
- Some Color Graphics Adapters display "snow" on your color screen if they
- are accessed via direct writes to video memory. If you do see "snow", try
- setting Snow Suppression Required. Using this setting slows down the display
- slightly to prevent generating the snow. No Snow Suppression will restore
- BIOSSIG to its fastest display speed. CGA Snow suppression may be selected on
- start up by including "snow" on the command line or by exercizing the optional
- customization menu.
-
- BIOSSIG prints 132 Columns of information per page. If you select 6 Lines/Inch,
- BIOSSIG will print 5 Signatures/Page. If you select 8 Lines/Inch, BIOSSIG
- will print 7 Signatures/Page.
-
- To give some indication that the program is working while it scans its database
- (Now at 390+ entries and growing) BIOSSIG displays the file name of each BIOS
- Signature and a percentage of match between your BIOS and each database entry.
-
- Sample BIOS Signature Screen(s)
-
- ╔═══════════════════════════════════════════ BIOS Signature 3.2 ══════════════╗
- ║ Model Id Byte at FFFFE matches 100% ┌───────────────────────────────┐┌─────┐ ║
- ║ FC │ Overall Match: 100% ││ CRC │ ║
- ║ │Your BIOS Signature is in our ││F0000│ ║
- ║ Date at FFFF5 matches 100% │Database as shown below, but ││FFFFF│ ║
- ║ 08/12/87 │its CRC does not match. Please││ C2F0│ ║
- ║ │submit this BIOS and its Info. ││ C2F1│ ║
- ║ Part Number at FE000 matches 100% └───────────────────────────────┘└─────┘ ║
- ║ NCR'S VERSION IBM CORP. AT ROM ║
- ║ ║
- ║ Compatibility at FE00E matches 100% ║
- ║ IBM ║
- ║ ║
- ║ Copyright at FE01E matches 100% ║
- ║ COPR. NCR CORP. 1985,1987COPR. COMPUTER DEVICES INC. 1982 ║
- ║ ║
- ║ OEM Revision at FFFEA matches 100% ║
- ║ NCR4.5 ║
- ║ ║
- ║ ║
- ║ PC: Honeywell AP | NCR P8 Test with Bad CR BIOS: NCR 4.5 ║
- ║ Source: Mike Focke ║
- ║ Date: 5 July 1988 BIOS Signature File: NCR4-5x ║
- ╚══════════════════════════════════════════════════════════════════════════════╝
- Esc to return to Main Menu, F10 to attempt another Exact match
-
- ╔═══════════════════════════════════════════ BIOS Signature 3.2 ══════════════╗
- ║ Model Id Byte at FFFFE matches 100% ┌───────────────────────────────┐┌─────┐ ║
- ║ FC │ Overall Match: 100% ││ CRC │ ║
- ║ │ ││F0000│ ║
- ║ Date at FFFF5 matches 100% │Your BIOS Signature is in our ││FFFFF│ ║
- ║ 08/12/87 │Database as shown below. Please││ C2F0│ ║
- ║ │inform us if you disagree. ││ │ ║
- ║ Part Number at FE000 matches 100% └───────────────────────────────┘└─────┘ ║
- ║ NCR'S VERSION IBM CORP. AT ROM ║
- ║ ║
- ║ Compatibility at FE00E matches 100% ║
- ║ IBM ║
- ║ ║
- ║ Copyright at FE01E matches 100% ║
- ║ COPR. NCR CORP. 1985,1987COPR. COMPUTER DEVICES INC. 1982 ║
- ║ ║
- ║ OEM Revision at FFFEA matches 100% ║
- ║ NCR4.5 ║
- ║ ║
- ║ ║
- ║ PC: Honeywell AP | NCR P8 BIOS: NCR 4.5 ║
- ║ Source: Mike Focke ║
- ║ Date: 5 July 1988 BIOS Signature File: NCR4-5 ║
- ╚══════════════════════════════════════════════════════════════════════════════╝
- Esc to return to Main Menu, F10 to attempt another Exact match
-
- ╔═══════════════════════════════════════════ BIOS Signature 3.2 ══════════════╗
- ║ Model Id Byte at FFFFE matches 100% ┌───────────────────────────────┐┌─────┐ ║
- ║ FC │ Overall Match: 98% ││ CRC │ ║
- ║ │Your BIOS does not match the ││F0000│ ║
- ║ Date at FFFF5 matches 62% │currently displayed database ││FFFFF│ ║
- ║ 08/12/87 │entry. The second line of any ││ C2F0│ ║
- ║ 05/02/88 │pair comes from the database. ││ A916│ ║
- ║ Part Number at FE000 matches 100% └───────────────────────────────┘└─────┘ ║
- ║ NCR'S VERSION IBM CORP. AT ROM ║
- ║ ║
- ║ Compatibility at FE00E matches 100% ║
- ║ IBM ║
- ║ ║
- ║ Copyright at FE01E matches 100% ║
- ║ COPR. NCR CORP. 1985,1987COPR. COMPUTER DEVICES INC. 1982 ║
- ║ ║
- ║ OEM Revision at FFFEA matches 83% ║
- ║ NCR4.5 ║
- ║ NCR4.6 ║
- ║ ║
- ║ PC: Honeywell AP | NCR P8 BIOS: NCR 4.6 ║
- ║ Source: Cathy Cockrum Brower ║
- ║ Date: 3 November 1988 BIOS Signature File: NCR4-6 ║
- ╚══════════════════════════════════════════════════════════════════════════════╝
- Press F10 for next worst match, Press Esc to Quit
-
- For the purposes of the BIOS Signature Project a BIOS ROM Signature consists of
- the following six pieces of information:
-
- Model Id Byte
- Date
- Part Number
- Compatibility
- Copyright
- OEM Revision
-
-
- Model Id Byte:
-
- IBM puts a coded byte in BIOS ROM memory location FFFFE. PC Magazine
- June 28, 1988 published a list of the IBM Model Id Bytes as follows:
-
- FF - IBM PC
- FE - IBM PC-XT
- FD - IBM PCjr
- FC - IBM PC AT
- FB - IBM PC-XT(rev 1)
- FA - IBM PS/2 Model 30
- F9 - IBM PC Convertible
- F8 - IBM PS/2 Model 80
-
- Date:
-
- IBM puts the Date the BIOS ROM was issued in BIOS ROM memory location FFFF5.
-
- Part Number:
-
- IBM put the Part Number of the BIOS ROM in the early BIOS ROM chips in BIOS
- ROM memory location FE000. The BIOS Signature Database uses the Part Number
- if appropriate or other identifying text if not an IBM BIOS ROM.
-
- Compatibility:
-
- Nominally all of the BIOS ROMs of interest are IBM compatible. The story is
- that when the first IBM PC was introduced some programs looked for "IBM" in
- the BIOS ROM. If "IBM" was not there the programs (a) didn't run or
- (b) trashed something. This is the theory behind looking for "IBM" in BIOS
- ROM memory. Not all modern (nominally IBM compatible) ROMs contain the IBM
- trademark. Those BIOSs that do contain the "IBM" normally put it where IBM
- puts its copyright notice.
-
- Copyright:
-
- IBM puts a Copyright notice for the BIOS ROM in BIOS ROM memory location FE008.
- Most other manufacturers also put copyright notices in their own BIOS Roms.
- There is some discussion as to what it takes to be a legal copyright notice.
- Minimally there should be the Copyright symbol, a "C" within a circle. Most
- BIOS ROMs approximate this symbol with a (C) or (c) using matched parentheses
- to enclose the "C". The word Copyright should be spelled out if the symbol is
- not present. The Year for which the copyright is claimed is required. The
- name of the entity claiming the copyright is the last required information.
-
- OEM Revision:
-
- Some Original Equipment Manufacturers (OEMs) have added information to uniquely
- identify a BIOS ROM. This is an OEM Revision (Number). When an OEM BIOS ROM
- initializes the PC (boots), it normally displays its revision on the Console.
-
- Address:
-
- This is the BIOS ROM memory address (shown in Hexadecimal Notation) where the
- information may be found in matching BIOS ROMs.
-
- Match:
-
- This is the Percentage Match between Your BIOS ROM and the BIOS ROM from
- the BIOS Signature Database. It is computed by recursively matching the
- longest common substrings between the contents of the database and the
- corresponding areas of your BIOS ROM memory. An Exact Match yields 100%.
- If 10 characters out of 20 are the same, even if they are not in the exact
- order of the database, then the match is 50%.
-
- The Overall match is computed by arbitrarily assigning a length of one to the
- Model Id Byte and the Date. For each item in the signature the Match is
- multiplied by the length in characters, the sum of these products is divided
- by the total length giving the Overall Match as a percentage of the total
- characters.
-
- PC:
-
- The Brand Name of the Manufacturer mentioning any identifying characteristics.
-
- BIOS:
-
- The Name of the BIOS Manufacturer (from the ASCII Copyright Statement if
- available).
-
- Source:
-
- The Name of the Person who first supplied the BIOS Signature Project with the
- required information.
-
- Date:
-
- The Date the information was acquired.
-
- BIOS Signature File:
-
- The File containing the contents of that BIOS ROM on our computer.
- Also used as a unique identifier.
-
- CRC:
-
- To differentiate between multiple BIOSs with the same ASCII BIOS Signature as
- defined above, version 3.1c implemented a Cyclic Redundancy Check of your BIOS
- ROM. A CRC is a mathematical calculation which is used in communications to
- detect errors in a block of data. The operation is performed on a data block,
- the block and CRC are transmitted, the receiver independently computes the
- CRC of the received block and compares it to the CRC computed by the sender.
- If the two CRCs are the same it is assumed that the block has been transmitted
- and received correctly. According to W. David Schwaderer's CRC Calculation
- article in the April 1985 issue of PC Tech Journal, "Using these polynomials
- allows detection of all errors involving 16 bits or less and about 99.95
- percent of errors involving more than 16 bits."
-
- The two 5 digit hex addresses are the address of the first and last bytes of
- the block of information upon which the CRC computation is calculated. The
- next 4 digits = the 16-bit CRC of your BIOS. If the database contains a
- different CRC it is displayed below yours. If the ASCII BIOS Signature of
- your BIOS ROM is an exact ( 100 percent) match, but the CRCs are different,
- your BIOS Manufacturer has issued 2 ROMS with identical signatures but
- different code. There are, for example, 2 Zenith entries in the database
- with the same signature but different CRCs. There were only 5 bytes different
- between the 2 BIOS. One BIOS came from a Z-183 the other from a Z-184.
-
- The Future:
-
- Even after examining 390+ BIOSs, we are still learning how to recognize those
- of a particular brand. We had intended that, once we feel we knew enough
- about how Phoenix, Award, AMI, Compaq and IBM typically store the signature
- information, then we hoped to be able to include logic to recognize the
- signatures of BIOSs we hadn't yet seen. We have largely abandoned that
- notion as the number of BIOSs became clear and as other duties kept us busy.
-
- BIOSTREE
-
- BIOSTREE displays a family tree of BIOSs.
-
- Legal Concerns:
-
- Both Rick and I work for a computer manufacturer who will buy us any BIOS
- we want. Our intent is to add to the litterature about BIOS signatures and
- the only way to do this is to examine the code to find the signatures.
- We don't use the BIOS you send us for any other purpose. Please don't ask
- us to send you the latest BIOS. We won't!
-
- Sources:
-
- AMI BIOS can be bought from Herschell Fleming 1-800-828-9294 OR
- Clyde Washburn 716-248-3627. I have seen a file AMIREL.ZIP which details
- what is fixed in some versions of the AMI.
-
- Phoenix BIOS can be bought from Komputerwerk 1-800-666-6715 or
- Virginia 804-320-8835 OR Wholesale Direct 800-628-8620
-
- AWARD BIOS can be bought at Komputerwerk Inc. 1-800-423-3400 or
- Pennsylvania 412-782-0384 or from UNICOR 1-800-800-BIOS or
- Massachusets 508-686-6468
-
- IBM BIOS can be bought from Micro World Computers 800-825-6050
- OR Global Computers 800-274-5622 OR your local IBM dealer.
-
- AMI, Phoenix and Patterson BIOS can be bought from Upgrades Etc
- 800-541-1943.
-
- AMI issues "BIOS" chips that contain BIOS, Startup and Diagnostics.
- The diagnostics are called "AMIDIAG" and were up to revision 3.14 in
- October 1990. AMI can be reached at 800-U-BUY-AMI or 404-263-8181 in GA.
-
-
- Special thanks to Bob Falk for providing BIOSXLAT.EXE, a program which
- provides a formatted file with readable information from our data base.
-
- Each of these dealers could be a source of information on what version
- of the BIOS supports what drives and has what errors fixed.