AMIBIOS

From SoftHistory
Revision as of 08:40, 12 June 2024 by Rueni97 (talk | contribs)

AMIBIOS is a personal computer BIOS developed by AMI (American Megatrends). It was released in 1985 by Access Methods Inc. as one of the earliest fully and legally IBM PC-compatible solutions for the system's clones. As the IBM PC's BIOS was copyrighted and early implementations based on its documentation suffered from legal trouble, companies like Phoenix and Access Methods reverse engineered their own solutions under a clean room design to avoid such trouble, with AMIBIOS being the latter's solution (shortly released after the former's PhoenixBIOS). It was then acquired by American Megatrends Inc. next year.

While it is still used on some legacy platforms (such as the ones using the Vortex86 SoC), it was phased out on most consumer platforms in the early 2010s in favor of UEFI solutions such as Aptio (developed by the same company), InsydeH2O, and Phoenix SecureCore. Although earlier instances of Aptio contained an embedded version of AMIBIOS 8 as a component module for legacy boot (CSM). However, since CSM was discontinued by Intel in 2020, the module is no longer present.[1]

Acquisition from Access Methods Inc.

Main page: American Megatrends

Access Methods Inc., a joint venture founded by Subromanian Shankar and Pat Sarma, released AMIBIOS in 1985.[2] The same year, the owners found a new company with the funds raised by this joint venture. It was called Quintessential Consultants Inc. (QCI), which then got renamed to American Megatrends Inc. (AMI) to keep the "AMIBIOS" acronym. The new company then acquired AMIBIOS from Access Methods in 1986.[3]

List of known versions

All versions made before the AMI Plus BIOS were released by Access Methods and therefore had their copyright, although some of these versions later received updates under American Megatrends ownership, and these newer versions had their copyright instead.

Most instances of versions from AMIBIOS 2.2x to AMIBIOS 6 and AMIBIOS 07.00.10 can be identified by the date in the identification string (often shown at the bottom of the POST screen), as these dates were fixed to the initial release date of the version. However, these dates were occasionally modified by OEMs to reflect the ROM compile date instead, especially until AMI WinBIOS (AMIBIOS 4). On AMIBIOS 07.00.xx and all later versions (excluding 07.00.10), the date in the identification string indicates the ROM compile date instead and therefore cannot be used to determine the AMIBIOS version.

Notice: Due to a lack of information and references, the names for all versions released before the AMI Hi-Flex BIOS are assumed based on little and unofficial information. When more information is discovered, these will be corrected.

Version name First release date POST screen (if available) Notes
"Rev-X2-03" (AMIBIOS 2.03?) Most likely 1985 or early 1986 Possibly the earliest known version. AMIBIOS 2.03 is a possible name, although unconfirmed.
AMIBIOS 2.2x(?) 1986 The name is assumed based on unofficial information and may not be correct.
AMI Plus BIOS(?) 1987 The name is assumed based on unofficial information and may not be correct. Sometimes (unofficially) also called AMI Pre-Color BIOS by some enthusiasts as it has a black and white setup utility and was released before Hi-Flex BIOS (which is often also unofficially called AMI Color BIOS, due to it's colorful setup utility).
AMI Hi-Flex BIOS 1990 Not to be confused with the Hi-Flex Setup Utility on AMIBIOS 6 and 07.00.10, which was named after it. Unofficially also called AMI Color BIOS by some enthusiasts (due to its colorful setup utility). It was likely also called AMIBIOS 3 internally, although unconfirmed.
AMI WinBIOS (AMIBIOS 4) 1993 Often referred to as AMI WinBIOS, not to be confused with the WinBIOS Setup Utility on AMIBIOS 6 (which was named after it). Often known with the core date 121593 (December 15, 1993) in string, however other core dates also exist.
AMIBIOS 5 1994 Visually looks almost identical to AMIBIOS 4, although contains initial bug fixes and new features. Often known with the core date 101094 (October 10, 1994) in string.
AMIBIOS 6 1995 Often known with the core date 071595 in string, however other core dates also exist.
AMI eBIOS Version 1 Unknown Not available. Currently no information is available and it might not actually exist, however it is assumed to exist due to the existence of eBIOS 02.00.xx.
AMIBIOS 07.00.xx / 07.00.00 1999 Not to be confused with AMIBIOS 07.00.10 [with date 040201 (April 2, 2001) in string]. Probably an early development release of AMIBIOS 8, which might have initially been called AMIBIOS 7.
AMI eBIOS 02.00.xx 2000 or 1999 Assumed to be a variant of AMIBIOS 07.00.xx for embedded systems. Not much else is known about it.
AMIBIOS 7 (07.00.10) 2001 Not to be confused with AMIBIOS 07.00.xx/07.00.00. Often known with the core date 040201 (April 2, 2001) in string. Assumed to be an update based on the AMIBIOS 6 codebase.
64-Bit AMIBIOS Version 1 2001(?) Not available. Currently no information is available and it might not actually exist, however it is assumed to exist due to the existence of 64-Bit AMIBIOS 02.00.00.
AMIBIOS 8 2001 Last standalone version of AMIBIOS. Most likely the final product for AMIBIOS 07.00.xx/07.00.00. Although first released in 2001, it was not used widely until a couple years later.
64-Bit AMIBIOS 02.00.00 2003(?) Not available. Assumed to be a variant of AMIBIOS 8 or 07.00.xx for Itanium based servers. Only known instance is on the SuperMicro MBD-i2DML-8G2-O Intel Itanium motherboard.
AMIBIOS 9 Unknown Not available. Used on Microsoft Hyper-V. Assumed to be a special version or code fork for it, or possibly the name given to emulated BIOS for CSM mode in AMI Aptio.

BIOS string

The BIOS string was first introduced with AMIBIOS 2.2x for easy identification of each BIOS revision (by the OEM/manufacturer) and is often seen during POST near the very bottom of the screen. The string is formatted to contain various sections, with each containing information for a different field. Known codes for these sections are given in the List of codes for BIOS strings (also available at the bottom of this page section). The formats have been changed various times with some new releases of AMIBIOS.

AMIBIOS 2.2x

MMMM: Manufacturer/OEM identification code, SSSSSS: BIOS version release date

MMMM-SSSSSS

Example string: 1406-061286

This string is for an AMIBIOS 2.2x version (released on June 12, 1986, "061286") for Flying Triumph Co. Ltd. ("1406").

AMI Plus BIOS

D: CMOS setup type, CCC: Chipset type, MMMM: Manufacturer/OEM identification code, SSSSSS: BIOS version release date, KK: Keyboard controller ID (with second character indicating the model).

DCCC-MMMM-SSSSSS-KK

Note: The CMOS setup type code can also be two characters for "DE" in case the BIOS contains both extended setup and built-in diagnostics.

Example string: D286-1277-043089-K0

This string is for an AMI Plus BIOS version (released on April 30, 1986, "043089") with built-in diagnostics ("D") for a machine with a discrete 286 logic ("286") and a default/unknown keyboard controller (K"0") for Trangg Bow Co. ("1277").

AMI Hi-Flex BIOS and later versions

C: Processor architecture, R: ROM size, MMMM: Manufacturer/OEM identification code, FFFFFFFF: BIOS feature identification (often 00101111), SSSSSS: BIOS compile date OR subcore release date, DDDDDDDD: BIOS identifier, Project: internal BIOS project ID (can only be seen on late revisions of AMIBIOS 6 and later), Y2KC: unknown, most likely Year 2000 compatibility indicator (optional, can only be seen on AMIBIOS 07.00.xx and 8), K: Keyboard controller ID (unused on AMIBIOS 07.00.10 and 8)

CR-VVVV-00MMMM-FFFFFFFF-SSSSSS-DDDDDDDD-Project-Y2KC-K

Example string: 61-0530-001169-00101111-071595-440BX/ZX-1AAET006-R

This string is for a 05.30 version ("0530") 128 KB ("1")* size AMIBIOS 6 ("071595", main revision date for it) for 686 architecture processors ("6") with Intel 440BX or ZX chipset ("440BX/ZX") and an AMIKEY '94 clone keyboard controller ("R") for project ID 1AAET006 of MSI ("1169").

*The BIOS ROM size is actually 256 KB in this specific case, the 128 KB size specified in the string is an error. This also means the string is not always fully accurate, although mostly is.

List of known codes for BIOS strings

Click "Expand" to view.