`
`Exhibit 2
`
`
`
`Case 6:21-cv-00735-ADA Document 32-5 Filed 01/27/22 Page 2 of 31
`
`Phil Croucher
`
`Electrocution, Inc.
`
`The BIOS Companion
`
`
`
`Palo Alto, CA 94306
`
`ADVICE Press
`480 California Avenue, Suite 104
`
`GOOG-ANCORA-00000980
`
`
`
`
`
`
`
`
`Which are grat
`
`Experience
`Many con’
`Hundreds
`
`Case 6:21-cv-00735-ADA Document 32-5 Filed 01/27/22 Page 3 of 31
`
`The BIOS Companion
`
`© Copyright 1997, 1998 Phil Croucher,All rights reserved. Nopart ofthis publication may be
`reproduced,photocopied,stored ona retrieval system, oF transmitted without the express written
`;
`Pes
`es
`3
`consent of the publisher.
`Portionsof this book are © Copyright 1998 ADVICEPress.All rights reserved.
`Printed in the UnitedStates of America.
`
`1t10n a 2 0
`
`irst
`
`bOOK
`
`Publishedby; ADVICE Press,+80 CaliforniaAvenue,Suite 104,Palo Alto,CA 94300.
`Phone: (650) 321-2198 Fax: (630) 321-2199 info@advice.com
`heep://www.advicepress.com
`Printing History: ee Ae
`saneeans
`» Dec
`sp
`199
`ein
`i
`While everyprecaution hasbeen taken in thepreparation ofthisbook,theauthorsandADVICE
`Press make no representations or warranties with respect to the contents or Use ofthis manual, and
`specifically disclaimsany express OTimplied warranties ofmerchantability orfitness foranyparticular
`pane
`Further,ADVICE Press makes no representations oFwarrantieswith respectto any contentsor
`software, and specifically disclaims any express or implied warranties of merchantability or fitness for
`anyparticular purpose.
`We have attempted to supply trademark information about company names, products, andservices
`mentionedin this manual.All such trademarks and service marks are the property oftheir respective
`holders and the Publisher and Authors make noclaimofany kind on thesetrademarks.
`
`Dart Cor
`
`MR BIOS
`
`started in '
`AMI BIO.
`.
`Readers,is
`"
`Adrian Cl
`French at
`ainibios.t
`had usefu
`Guideis <
`amisetup
`fep://194
`
`Trademarks
`
`Windows,Windows °95,Windows NT, DOS and Xenix are trademarks and Microsoftis a registered
`trademark ofMicrosoft Corporation. Novell and NetWare are registered trademarks ofNovell, Inc.
`Macintoshis a registered trademark ofApple Computer, Inc.VAX is a trademark ofDigital
`Equipment Corporation. 8086, 81/286, 1386, i486 ,i486DX, 486DX2, i486D™4, i486SX, and
`i487SX,Intel OverDrive Processor are trademarks ofInte] Corp. UNIXis a registered trademark of
`UNIX System Laboratories. IBM, PG, XT.AT and OS/2 are trademarks ofInternational Business
`Machines Corp. PCI
`isa registered trademark of PCI Special Interest Group.Tritonis a trademark
`ofa companyin Germany. Anycodelistings. although obtained from sites that are publicly accessed,
`may be copyrighted by their respective manufacturers.All other proprietary trade names, trademarks
`and namesprotected by copyrightare fully acknowledged.All are mentionedfor editorial purposes
`only, with no intention ofinfringing them.
`
`ISBN: |-88967 1-20-7
`
`)12/98]
`
`
`
`GOOG-ANCORA-00000981
`
`
`
`Case 6:21-cv-00735-ADA Document 32-5 Filed 01/27/22 Page 4 of 31
`
`
`
`The BIOS
`
`The instructions that turn a PC into a useful machine comein threestages; application
`programs, which are loaded by an operatingsystem, whichis loaded by a bootstrap loaderin the
`BIOS.
`BIOSstandsfor Basic Input/Output System, ofwhich thereare several in a PC; a good example
`is the one on thevideo card that controls the interface between it and the computer. However,
`we are concerned with the System BIOS, whichis a collection of assembly language routines
`chat allow programs and the components of a PC to communicate with each otherat the
`hardwarelevel. It therefore works in two directions andis activeall the time your computer is
`switched on. Software doesn't haveto talk to a device directly;it calls a BIOSroutine which
`does the job instead, but these days the BIOSis often bypassed by 32-bit software anyway.In
`fact, there are moves afootto place the BIOS functionsinto the operating system, starting
`with Power Management (see ACP).
`For the moment, though, the BIOS will work in conjunction with the chipset, whichis really
`what managesaccess to system resources such as memory, cache and the data buses, and
`actuallyis the subject ofthis book,asall those advancedsettingsrelate to the chipset and not
`the BIOS as such.
`Onan IBM-compatible,youwill find the BIOS embeddedinto a ROM onthe motherboard,
`together with harddisk utilities and a CMOSsetup program, although this will depend on
`che manufacturer, The ROMwill usually occupy a 64K segment of upper memory at FOOOif
`you have an ISA system, and a 128K segment starting at E000 with EISA.
`Older machines, such as 286s, will have pwo ROMs,labelled Odd and Even, or High and Low
`(they must be intherightslots), because of the 16-bit bus, but these days there tendsto be
`only one—lookfor one witha printed label (older 386s sometimeshad 4). The reason for
`getting awaywith oneis because BIOS code is nowcopied into Shadow RAM (explained
`later), and notactually executed from ROM, but extended memory.
`A Flash ROMallows youto change the BIOScode withoutreplacing the chip(s). Flash ROM,
`or programmableread-only nonvolatile RAM,ifyou want to be posh,is similar in concept to an
`EPROM, bur doesn't need ultraviolet light to eraseit; instead, a 12vpulseis used.
`Including the ROMspace,the BIOS takes 256 bytes of low memory as a B/OS Data Area,
`which contains details about the Num Lock state, keyboard buffer, etc. DOSloads higher
`than this,so it's quite safe.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`GOOG-ANCORA-00000982
`
`
`
`
`
`
`AMIIDS
`The BIOS
`ID stringis
`(1986-199(
`
`DINT-
`
`Or, in othe
`
`aaaa-bl
`
`where:
`
`If the first «
`motherboa
`and 9 meat
`
`Orherwise,
`screen. The
`kev. Aside|
`might look
`41-016
`
`Again, chee
`
`ID STRING
`12_4-7_9-
`
`Case 6:21-cv-00735-ADA Document 32-5 Filed 01/27/22 Page 5 of 31
`
`CHAPTER | THE BIOS
`computers need to be IBM-compatible and
`There are several types of BIOS because so many
`copying, for obvious reasons. The BIOS worries aboutall the
`the companies don't allow to
`dard frontage to DOSin the same way that DOStakes care of
`des a standard interface for application programs. PC and
`differences and presents a stan
`operating the computer and provi
`motherboard manufacturers used to make their own BIOSes, and many still do, but most
`tend to be based on code supplied by third party companies, the most well-known ofwhich
`are Phoenix Technologies, Award Software, Microid Research (MR) and American
`s! Award Software owns Unicore (the
`Megatrends (AMI). However, all is not what it seem
`upgraders), which in turn owns MR,which does the customised stuff. Phoenix also owns
`
`Quadtel.
`
`HOW OLDIS MY BIOS?
`Microsoftsays that any earlier than 1987 are “suspect” for running Windows, and thereis a
`list ofKnown BIOS Problems see page -227later on. For IDEsystems, the AMI BIOSmustbe
`later than 04-09-90, and for SCSI 09-25-88,as longas the SCSIcardis S220 compatible.
`For RLL and MEMdrives,try 9-25-88 or later. The keyboard BIOSfor AMIsystems must be
`revision 'F'. Ifyou wantto check how old your BIOSis, the date is on the start-up screen,
`usually buried in the BJOS ID String, which looksa bitlike this (121291is the date in this
`AMIsample):
`40-0201-BY6379-0110111 1-121291-UMCAUTO-04
`Try also using debug:
`-d fO00:fff5 fffc
`startup screen. Otherwise, as you can see, you
`The AMI WinBIOShas a normal date on the
`clude extras that identify the state ofthe chipset
`don't just get the date; many manufacturers in
`morestrings, displayed by
`inside. For example, with the AMI Hi-Flex BIOS, there are two
`or any other key to create an error condition.
`pressing Ins during bootup,
`
`ACER ID STRINGS
`In the bottomleft hand corner ofthe screen:
`ACR89XxxxxXxXxXXXXxxXXR03-BO
`Thefirst 2 characters after ACR identify the motherboard:
`Thelast few are the BIOS revision.
`8F
`M3(SCSI)
`89
`M5
`07
`M7
`1A
`M3A
`2F
`M11A
`24
`M9B
`46
`MIN
`05
`X1B
`
`Altos 9000
`Altos 7000P
`Alros 900/M and 9000/M
`Alros 300
`Altos 900/Pro
`Altos 9000/Pro
`Altos 920 and 9100
`Altos 19000
`
`
`
`
`
`GOOG-ANCORA-00000983
`
`
`
`Case 6:21-cv-00735-ADA Document 32-5 Filed 01/27/22 Page 6 of 31
`
`
`AMI ID STRINGS
`
`AMI ID STRINGS
`The BIOSrelease numberis at the topleft of the screen for AMI motherboards. The BIOS
`ID stringis at the bottom left fortheirs and anyothers. The AMIBIOSand BIOSPlusseries
`1986-1990) lookslike this (for example):
`DINT-1123-04990-K8
`
`Or, in other words:
`aaaa-bbbb-mmddyy-Kc
`
`where:
`
`BIOS type
`aaaa
`Customer Number
`bbbb
`Release date
`mmddyy
`Keyboard BIOSversion number
`Ke
`If the first customer number(in bold above)is 1,2, 8 ora letter, it is a non-AMI Taiwanese
`motherboard.Ifit is 3, 4 or 5,it is from AMI. 50 or 6 means a non-AMI US motherboard
`and 9 meansanevaluation BIOSfor a Taiwanese manufacturer.
`Otherwise, there can be upto threelines (from 1991 onwards) at the bottom left of the
`screen. Thefirst is displayed automatically, the other two can be seen bypressing the Insert
`key. Aside from version numbers, the 1s and Os indicate the state of the settings inside.It
`might looklike this:
`41-0102-zz5123-0011111 1-101094-AMIS123-P
`Again, check the bold numberfor the manufacturer.
`
`ID STRING LINE 1
`12 4-7_9-14_16-23_25-30_32-39_41 decodes as follows:
`
`ble and
`ll the
`care of
`C and
`nost
`
`‘which
`
`(the
`ywns
`
`rereiS a
`; must be
`ypatible.
`s must be
`screen,
`
`- in this
`
`1 see, you
`the chipset
`ayed by
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`1
`
`Processor Type
`
`0 8086/8
`2 80286
`3 80386
`80486
`Pentium
`
`ri
`'
`0 64K
`2
`Size of BIOS
`1 128K
`
`\ 4-5
`Major Version Number
`
`6-7
`MinorVersion Number
`
`_|
`| 9-14
`Reference Number
`
`16
`Halt on Post Error
`Set to 1
`if On.
`
`{17
`Initialize CMOS every boot
`Set to 1 if On.
`
`18
`Block pins 22 & 23 of keyboard controller
`Set to 1
`if On.
`
`| 19
`Mouse supportin BIOS/keyboard controller
`Set to 1 if On.
`
`|
`| 20
`Waitforif error found
`Set to 1
`if On.
`
`21
`Display Floppy error during POST
`Set to 1 if On.
`| 22
`DisplayVideo error during POST
`Set to 1 if On.
`
`“|
`
`|
`
`3
`
`
` |
`
`
`GOOG-ANCORA-00000984
`
`
`
`Case 6:21-cv-00735-ADA Document 32-5 Filed 01/27/22 Page 7 of 31
`
`
`
`
`
`BIOS Date
`
`Display Keyboard error during POST
`BIOS Date
`BIOS Date
`Chipset Identification
`Keyboard controller version number
`
`Set to 1 if On.
`Month (1-12).
`Date (1-31).
`Year (0-99).
`BIOS Name.
`
`CHAPTER | THE BIOS
`
`5-26
`
` 23
`2
`27-28
`29-30
`32-39
`4)
`
`ID STRING LINE 2
`123 5.7-10_12-13_15-16_18-21_23-24_26-27_29-9}
`1-2
`Pin no for clock switching through keyboard controller
`3
`High signal on pin switches clock to High(H) or Low (L)
`5
`Clock switching through chipset registers
`Port address to switch clock high through special port
`7-10
`Data value to switch clock high through special port
`{12-13
`| 15-16
`Maskvalue to switch clock high through special port
`to switch clock low through special port
`18-21
`Port Address
`| 23-24
`Data value to switch clock low through special port
`26-27
`Mask value to switch clock low through special portt Pin)
`29-31
`Turbo Sw InputPin info (Pin no forTurbo Sw Inpu
`
`
`
`0=Off
`12On
`
`|
`
`
`
`ID STRING LINE 3
`1-3 5 7-10 12-13 15-16 18-21 23-24 26-27 29-30 31 33
`|ty2
`Keyboard Controller Pin number for cachecontrol
`3
`Keyboard Controller Pin numberfor cache control
`5
`High signal is used on the Keyboard Controller pin
`Cache
`Control
`through Chipse Registers
`7-10
`ache Control
`th
`h
`Chipset
`Regi
`12-13
`Port Address to enable cache through special port
`jue to enable cache through special port
`15-16
`Data va
`18-21
`Mask value to enable cache through special port
`t Address to disable cache through special port
`23-24
`Por
`[26-27
`Data value to disable cache through special port
`29-30
`Mask value to disable cache through special port
`31
`Pin number for Resetting 82335 Memorycontroller.
`BIOS Modified Flag; Incrementedeach timethe BIOSis
`33
`modified from 1-9 then A-Z and reset to 1. If 0 the BIOS
`has not yet been modified.
`
`
`
`
`
`Whether High signal on pin
`
`Pin number for Cache Control
`enables (H) or disables ()
`
`cache.
`
`0=Cache controloff
`1=Cache Control on
`
`
`
`
`
`GOOG-ANCORA-00000985
`
`
`
`Case 6:21-cv-00735-ADA Document 32-5 Filed 01/27/22 Page 8 of 31
`
`
`
`=si AMI WITH INTEL MOTHERBOARDS
`
`a
`Tae AMI version numberlookslike this when used on Intel motherboards:
`rach
`1 0O.XXHY
`
`AMI WITH INTEL MOTHERBOARDS
`
`
`
`©.97_DHO would indicate a version 7 BIOS and aTC430HX (Tucson) motherboard.
`
`XX
`22
`Y
`
`BIOS version number
`Intel Motherboard model
`Usually0 or 1
`
`AWARD ID STRINGS
`se dare is at the front:
`
`5/31/94-OPT1-596/546/82-2A5UIM20-00
`The next bit is the chipset and the nextto last the BIOS Part Number, of which characters 6
`end 7 identify the manufacturer (M2 in the example — full decodeoverleaf). An i suffix after
`“he part number meansan Intel 12v Flash ROM, whereas s refers to an SST 5v(the difference
`es in where ESCDdatais stored in upper memory).
`
`ze!
`
`|
`
`2
`
`
`|
`
` —
`
`al
`
`Jetway
`00
`Unknown
`Nn
`Jamicon
`AO
`Asustek
`J2
`J-Bond
`Al
`Abit (Silicon Star)
`13
`
`Jetta
`A2
`A-Trend
`\4
`A3
`ASI
`\6
`Joss
`
`Al
`Arima Taiwan
`KO
`Kapok
`AB
`Aopen (Acer)
`L1
`Lucky Star
`
`
`| BO
`Biostar
`iche Control
`|
`Mo
`Matra
`alonpin
`B3
`BCM
`M2
`Mycomp (TMC)
`
`Clevo
`M3
`ables (L)
`C1
`Mitac
`
`Chicony
`M4
`Micro-Star (Achme) _|
`apenas
`| C2
`
`ChainTech
`M8
`Mustek
`:
`_—_|
`C3
`Mg
`MLE
`Chaplet
`off
`C5
`
`cg
`Computrend
`N5
`OA? at
`NEC
`| DO
`Dataexpert
`00
`Ocean
`
`D1
`DTK
`PI
`PC-Chip
`
`D2
`Digital
`PA
`Pronix (Epox)
`
`Digicom
`QO
`Quanta
`D3
`
`Diamond Flower
`Q1
`QDI
`D4
`
`ECS(Elite Group)
`RO
`El
`Rise (Mtech)
`—Se
`
`EFA
`$2
`E3
`Soyo
`——
`FIC
`$5
`— FO
`Shuttle (Holco)
`F2
`Freetech
`$9
`Spring Circle
`F3
`Full Yes
`SN
`Soltek
`
`— aa5
`
`;
`
`
`
`
`
`|
`
`|
`
`
`
`GOOG-ANCORA-00000986
`
`
`
`Case 6:21-cv-00735-ADA Document 32-5 Filed 01/27/22 Page 9 of 31
`
`
`Gemlight
`
`Holco (Shuttle)
`U2
`AIR (UHC)
`
`HsinTech
`V3
`Vtech (PC Partner)
`|
`HO
`
`HsinTech
`V5
`VisionTop
`| 9
`
`
`13
`Iwill
`V6
`Vobis
`Wintec (Edom)
`
`I9
`Informtech
`Z1
`Zida
`14
`Inventa
`wo
`
`|
`
`PHOENIX ID STRINGS
`These start with a product family identifier (4A3NTOXinthis example):
`4A3NT0X0.86A.0047.P03.9704071 222
`It decodes to AN430TX(i.e. Anchorage). 4L3TTOX would be LT430TX (Lonetree). The
`numberafter the X is the revision. 86 is the BIOS OEMID(Intelhere), and the next letter
`indicates the type of motherboard:
`A
`Consumer Desktop
`B
`Corporate Desktop
`Cc
`Server Products
`0047is the BIOSbuild number. Pis the BIOSreleasetype:
`P
`Production(03istheproduction releasenumber)
`D
`Development
`B
`Beta
`A
`Alpha
`9704071222is the BIOS build date and time (here, 7 April 1997 at 12.22).
`In the early days, it wasenough to be "IBM compatible” and you couldliterally swap BIOS
`ROMsbetween motherboards.It's not thecasethesedays, astheyare matched toaparticular
`chipset by the motherboard manufacturer and are therefore specific to each other.
`Before spending too muchtime onthis, be aware tharit’s often easier (and cheaper) just to
`buy a new motherboard!
`If you have a Flash BIOS, you may get one from:
`MRBIOS
`www.unicore.com
`Award
`www.unicore.com
`AST
`www.ast.com
`AMI
`www.megatrends.com
`MRhas many shareware versions,foraslittle as $15.
`
`WHERE CAN I GET A NEW ONE?
`
`For Olivetti (:
`462882. AMI
`
`standard
`
`moctherboards
`Those is
`tO
`Hans
`Northgat
`whichcat
`|
`Those wi
`and/or bt
`
`atewayuse
`
`Intel ro work
`
`Vhepaiieee
`-hrough Mic
`338275, whe
`oe
`i creasas
`wnatspeed d
`FLASH BIOS
`
`
`eT
`
`Drer
`
`
`;
`
`,
`
`eee ee
`eee
`ee
`ora
`
`feel
`-
`q
`ot 3
`j
`
` ose
`et“
`
`thea
`
`
`
`GOOG-ANCORA-00000987
`
`
`
`Case 6:21-cv-00735-ADA Document 32-5 Filed 01/27/22 Page 10 of 31
`452882. AMI BIOSand BIOSPlus series (with 16 character ID code) for cached
`
`
`1
`1
`}
`|
`|
`4
`
`=
`
`ce). ‘ei
`next
`letter
`
`For Oliverti (and maybeothersrelatively less available): try PC Care in UK on 44 1992
`
`FLASH BIOS UPGRADES
`
`motherboardsare customised, and can onlybe obtained from the OEM, except:
`Those with E307 as the first 4 characters (aaaa), which can often be replaced with a
`standard type.
`Northgate or Motherboard Factory motherboards (except the Northgateslimline),
`which can take a standard type.
`Those with aaaa = DAMI,DAMX or EDAMI are usually for cached boards designed
`and/or built by AMI.
`
`zatewayuse Intel motherboards and modify the AMI BIOS,so don't expect an upgrade from
`ntel co work, A Gateway BIOS has a T suffix. Here are some others:
`H
`Vobis
`K
`NEC
`
`L
`Q
`R
`
`Hewlett Packard
`AST
`Packard Bell
`
`
`
`
`
`
`
`
`
`
`
`
`Orherwise, call Unicore on (508) 686-6468 (for MR and Award Software). Phoenix resells
`through Micro Firmware, on (800) 767 5465. Tryalso Silicon Pacific in in UK on 44 1491
`»38275, who are AMI resellers. See “Useful Numbers” on page -405.
`You need the proper information whenyoucall; if you already have an AMI BIOS,for
`example, youwill need the reference or part numberin theID string. If not, you must know
`what speed the board is and whatchipsetis onit (e.g. C&T, OPTI, ete).
`
`:
`swap BIOS
`a particular
`
`to
`
`+r)
`just
`ver) just t
`
`FLASH BIOS UPGRADES
`All the software yourequire will fit onto a boot floppy, which should naturally be checked for
`viruses. Aside from DOS, on the floppyyouwill need the upgrade utility and the datafile for
`vour particular motherboard. Both will be obtainable from the web site or BBSofeither your
`motherboard or BIOS manufacturer (try the formerfirst). It will usually bea self-extracting
`compressedfile.
`/
`3
`;
`=
`;
`-
`fake note of the ewrrent settings, so youcanreinstall them after you have upgraded. In fact,
`it's a good idea to save your BIOScontents to a floppyas soonas you get your motherboard
`up and running.If updating a portable, runit from the mains,as a failure during the upgrade
`:
`;
`é
`:
`will cause severe problems. You mayneedtoset a jumper or switch on the motherboardto
`allow the ROMtobewrittento, or to enable Boot Block Programming, if you want the official
`phrase.
`Boot fromthe upgrade floppy, andrunthe utiliry.The command linewill include the name
`ofthe utility andthe file for the upgrade, typically:
`flash p5_aw. 14g
`In the above example, flash is the nameofthe utility (flash.exe) and p5_aw.14gisthefile
`containing the code for the BIOS;in this case,
`it’s for the P5 motherboard, which has an
`
`
`7
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Award BIOS(aw), revision 14g.
`
`GOOG-ANCORA-00000988
`
`
`
`Case 6:21-cv-00735-ADA Document 32-5 Filed 01/27/22 Page 11 of 31
`
`
`
`CHAPTER | THE BIOS
`HE UPGRADE,even if there Is a
`
`subseto
`recoveryprocedure—justrepeattheprocess: Iftheproblempersists,reloadtheBIOSyou
`DO NOT TURN THE MACHINEOFF DURING T
`CMOS
`:
`fas
`In AT-c
`Onceeverythinghas finished, checkforasuccessful upgradewith theBIOS identifieron the
`¥os .fe
`screen,turnthemachineoff,resetthejumper,rebootandenteralltheprevioussettings
`nen.a
`(thoughyoumayhavetoacceptthedefaults).Rebootagain.
`memor
`Note:IfyougetproblemsafterupgradinganAMIBIOS,pressF5 inSetuptoclear
`char wa
`the CMOS.
`iee
`LotsofgoodstuffaboutFlashBlOSesinwww.ping.be/bios.
`CMOS
`DMI
`Pateth
`DMI(DesktopManagementInterface)isasystemwhichworkswithaFlashBIOStokeepa
`ManagementInformationFormatdatabaseuptodatesoyoucai!Gndoutwhat'sinsideaPC a
`EveryI
`Version 2.0 will allow remote network
`ncluding device settings.
`bility is unofficially available from some yendors with 1.1.
`without opening It up, i
`er, such as the CPU type
`umur
`access, although this capa
`DMIcan autodetect and record information concerning the comput
`andspeed, and memorysize—the BIOS storestheinformation in a4Kblockin the Flash
`Voy
`lay technology allowsthis to be updated by
`sautit
`I canretrieveit. Plug and P
`date the whole BIOSevery time.
`ROM, from where DM hich is better than having you up
`Indeed, NT occasionally flashes up a message thatit's "updating DMI"asit boots.
`MotherboardsthatcanuseDMIhaveaconfigurationutilitythatallowsyoutoputother
`H
`the operating system, W
`informationin,likeserialnumbers,companyaddresses,etc.
`ilo
`TheBIOSROM will includeabootstrap loader, PowerOn SelfTest (POST), hardware
`initialisation, softwareinterruptsand CMOSSetup routines, possiblywith diagnostic or
`utility software and otherfacilities.
`THE POWER ON SELF TEST
`The POST verifies that:
`The motherboard is working, and
`g) as when it was
`the same condition (i.e. workin it checks they are
`The equipment in the machineis in
`ponents; that is,
`switched off. Thetesting is an exercising ofthe com
`but not how well they are working.
`working,
`and handsover control to it, if found, on a floppy oF @ hard
`THE BOOTSTRAP LOADER
`t from a CD-ROM, and AMIfrom a Zip drive; Award
`Looks for an operating system,
`Zip drive and LS-120 diskette). Ifan erroris
`drive (Late Phoenix BlOSes will boo
`BIOSes can boot from a CD-ROM,SCSIdrive,
`ies ofNasty Noises will tell you what's wrong
`encountered before the displayis initialized, a ser
`later in the book).
`(see later). Otherwise, you will see an error message (again,
`
`A hard t
`
`noth e
`
`HAR
`
`ra
`
`saved earlier.
`
`FACILITIES PROVIDED
`
`
`
`————
`
`GOOG-ANCORA-00000989
`
`
`
`Case 6:21-cv-00735-ADA Document 32-5 Filed 01/27/22 Page 12 of 31
`CMOS SETTINGS
`
`
`& send reset goes through the whole POSTprocedure. A soft reset (ctrl-alt-del) just runs a
`eazset of POSTandinitialisation, after calling INT 19 from the BIOS.
`
`CMOS SETTINGS
`ie AT-class computers, hardware setup information is kept in the CMOS RAMso the POST
`cam refer to i. CMOSstands for Complementary Metal Oxide Semiconductor, whichactually
` Sets to 2 way of making chips with lowpower requirements, but has also come to mean the
`ememory area whichretains the information, because the clock chip that stored it was made
`
`
`
`
`2g remember what equipment the computerhas, and the setup routine which initialises the
`CMOS mustbe run before you can use your computer forthefirst time. Some computers
`
`s program separately ona disk, e.g. with early NEAT chipsets, Award v2.x or
`
`. but nowit's more commonlyincludedas part of the System BIOS.
`ery machine will have the Standard CMOSsettings, but some will have Advanced CMOSor
`-espset Features (the whole point ofthis), discussed later.
`
`
`
`
`
`
`
`
`
`
`UTILITIES
`any helpfulutilities come with the BIOS, particularly diagnostic and low-level format
`stines for the hard disk.
`
`se main menuto the BIOSsetup maycontainthefollowing heading:
`HARD DISK UTILITY
`
`- 2!lows you to low-level format the drive attached to your computer.
`DO NOTUSE IT TO
`
`LOWLEVEL FORMAT
`
`AN IDE DISK!
`
`Nor tharit will, anyway. Sorry for shouting, by the way, but that's quite important, becauseit
`will erase the head positioning tracks.
`
`HARDWARE PERFORMANCE
`4 word about performanceis necessary to understand therelevanceof the settings discussed
`ater. Although computers may havebasic similarities, that is, they all look the same on the
`supermarketshelf, performance will differ markedly between them, just the sameasit does
`
`1 cars—it's all too easyto put a big enginein (or a fast processor) and forget to improve
`che brakes and suspension! Aside fromthat, youwill never get a PC set up properly from the
`shop because there simplyisn't enough incentive in terms of time or money for the builders
`:o do so. Theywill just choose the safe settings to suit the widest variety of circumstances and
`eave you to it, which is where this book comes in. As an example, the default for some
`B1OSesis to have both internal and external CPU cachesoff, which is the slowest option! |
`suppose using "safe" settings at least reduces the numberoftech supportcalls!
`The PC contains several processes running at the sametime, oftenat different speeds, so a fair
`amount ofco-ordination is required to ensure that they don't work against each other.
`
`9
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ou
`
`on the
`s
`
`°Utype
`‘lash
`lated by
`ime.
`
`Ler
`cher
`
`are
`cor
`
`t Was
`ey are
`
`a hard
`; Award
`n erroris
`
`ts wrong,
`
`
`
`
`GOOG-ANCORA-00000990
`
`
`
`Case 6:21-cv-00735-ADA Document 32-5 Filed 01/27/22 Page 13 of 31
`
`
`
`The officiz
`ro be inpu
`msbackup
`so it will re
`
`The twon
`Time Dila
`ind the he
`envelope,
`arof-ran
`insideit
`-s
`POST to
`ceasional
`ceurs. In
`1/03/19
`
`CHAPTER 1
`
`“THE BIOS
`
`Most performance problemsarise from bottlenecks between components that are not
`necessarily the best for a job, but a result ofcompromise between price and performance.
`Usually, price wins out and you have to work around the problems this creates.
`Thetrick to getting the most out ofany machineis to make sure that each partis givingofits
`best, then eliminate potential bottlenecks between them. You can get a bottleneck simply by
`having anold piece ofequipmentthatis not designed to work at modernhigh speeds(a
`computeris onlyas fast as its slowest component), but you mightalso have badly written
`
`software.
`
`SYSTEM TIMING
`
`The clock is responsiblefor the speed at which numbers are crunched and instructions
`executed.It results in an electrical signal that switches constantly between high and low
`voltage several million timesa second.
`The System Clock, or CLKIN,is the frequency used by the processor; on 286s and 386s,this
`will be halfthe speed ofthe main crystal on the motherboard (the CPU dividesit by two),
`whichis often called CLK2IN. 486 processors run at the samespeed as the main crystal,
`because they use both edges of the timingsignal, which is a square wave. A clock generator
`chip (82284 or similar) is used to synchronise timing signals around the computer, and the
`data bus would be run at a slower speed synchronouslywith the CPU,e.g, CLKIN/4 for an
`ISA bus with a 33 MHz CPU, resulting in the “standard” 8 MHzorso,althoughit was never
`properly established.
`ATCLKis a separate clock for the bus, whenit's run asynchronously, or not derived from
`CLK2IN.Thereis also a 14.138 MHzcrystal which was used forall system timing on XTs.
`Nowit's only used for the colour frequencyofthe video controller (6845). And talking of
`
`clocks...
`
`THE YEAR 2000 (¥2K) PROBLEM
`In a PC,the problem boils downto the date in the Real Time Clock not rolling over
`automatically, and not necessarily whethera date over 2000 canactually be coped with,
`because BIOS manufacturers appear to have solved that already and DOS has been able to
`cope with it for years (but see below about Time Dilation). Ifyou set your system time and
`date to just before midnight 1999 and leave the machine running until the rollover happens,
`you will find that DOS(version 6.22, anyway) copes with the problem quite easily (boot the
`machine from a floppy, to makesure that date dependentsoftwareis not affected). Although
`it only showstwodigits whenyou perform operationssuch as the dircommand,fourare used
`internally. As its official operating span is between 1980 and 2099,it can figure out that 00
`equates to 2000, although it may cough and spluttera bit ifthe Real Time Clock specifically
`handsit a date of 1900,or any other dateit can't cope with.
`In practice, the BIOSconvertsit as well, so this shouldn't happens some correct the time
`automatically at boot and others will supply DOS with 3000instead ofa hardware date of
`1900,although manycan't produceadatelater than 1999 anyway—Award BIOS 4.5Gprior
`to Nov 1995 can only accept dates between 1994-1999.Still others just add 20 years before
`10 passing the date to the operating system.
`
`
`—s_art
`
`GOOG-ANCORA-00000991
`
`
`
`
`
`THE YEAR 2000 (Y2K) PROBLEM
`Case 6:21-cv-00735-ADA Document 32-5 Filed 01/27/22 Page 14 of 31
`Theofficial story from Microsoft about DOS (6.22)is thatit will allow a date of up to 2099
`so be input, but the operational rangeis actually up to 2035. 1980is regarded asyear0.
`msbackuphasother problems,but no-oneuses that anyway. Windows 3.x depends on DOS,
`so it will react similarly, with the additionofsetting the leap year fromthe keyboard.
`The two main problemsdescribed here, such as the RTCnot updating the centurybyte, and
`Time Dilation(see below) are bothaffected by the complex interaction between the POST
`and the hardware. For example, changing 99 to 00 takes the PC outsideits operating
`envelope,so it returns a date of 01/04/1980, whichis actually an error messageindicating an
`out-of-range date, instead of the 01/01/1900it gets from the Real Time Clock (RTC), which
`is inside its own specification. Also, changing the century byte from 19 to 20 causes the
`POSTto usea different logic path and exceed the 244 microsecond grace periodso that,
`occasionally, if the RTC is being read at just the wrong time (after Y2K), Time Dilation
`sccurs. Incidentally, the date 01/01/1980is set if your CMOScontentsare lost, and
`11/03/1980 meansan invalid BCD, as mentioned below. And the 244 microsecond grace
`period?
`Well, you can't read the RTCwhile it's updating, and the status is not checked after every
`read, so the designers set the status early and guaranteed the data for 244 microseconds,so it
`could be obtained evenifit changed afterwards. Hence the problem if the POSTtakes a
`different logic path (which is because the RTC and PC keep thedate in different formats and
`therefore need more conversion timeif you now haveto adjustfor the newcentury and count
`che yearssince rollover on top of the normalcalculations — more details below). Timingis
`‘portant, too - if you read the RTCat the beginning ofa second, you have almost the whole
`second minus about 600 microseconds(for updating) to do it in, but if you do it at the start
`f the grace period, you only have the 244 microseconds.
`The Real Time Clock was introduced with the IBM AT, andit’s ironic that anyoneoutthere
`still using an XT-class machine(and there are many) won't havethis problem,becauseit didn’t
`nave one. Instead, it used the DOSclock, whichis set in motion everytime the computeris
`switched on(it’s actually a device driver called clock$, whichis really a counter that
`increments at a knownrate of about 18 times a second). It was never intended to be a
`precision time-keeping device, but for "operator convenience”. There were certainly no
`specifications written down.
`The DOSclock getsits starting information from the RTC, or from you typingit in, as was
`done with the XT. The RTCis then promptlyignored until the machineis switched onagain.
`Thedate in the RTC is kept in second, minute, hour, day, month and year format, butis
`converted to the numberofdayssince Jan 1 1980, plus the numberofseconds since midnight
`on the current day. Thelatter is stored in the counter by the BIOS, and when DOSneeds to
`read the clock, the BIOS is called to read the counter, and the number of ticks is converted
`yack to seconds. This is to save going as far as the RTCfor the time, whichis a slowerprocess,
`and explains whythereis often a difference between your watch and your PC’s clock at the
`end ofthe working day; the system clock has to competefor attention with other devices, and
`s often reprogrammedby games andother programs, that use it for their own timing
`purposes, mostly running the videofaster. If they don’t set it back, your DOSclock will be
`
`re not
`
`‘ormance.
`
`is giving ofits
`ick simply by
`speeds (a
`ly written
`
`ructions
`and low
`
`and 386s, this
`'s it by nwo),
`rin crystal,
`ick generator
`ruter, and the
`CKKIN/4 for an
`ih it was never
`
`erived From
`ming on XIs.
`id talking of
`
`ng over
`oped with,
`s been able to
`em time and
`sllover happens,
`easily (boot the
`‘cted). Although
`nd, four are used
`are our that 00
`‘lock specifically
`
`‘ect the time
`rdwaredate of
`BIOS 4.5G prior
`20 years before
`
`11
`
`
`
`GOOG-ANCORA-00000992
`
`
`
`Case 6:21-cv-00735-ADA Document 32-5 Filed 01/27/22 Page 15 of 31
`
`Bei el
`
`“a
`d
`
`runningvery fast indeed! In short, being interrupt driven, the DOSclock's accuracy depends
`on system activity.
`In all IBM PC/AT compatible systems, the current date and time are stored in internal
`CMOSmemoryin Binary CodedDecimal (BCD) format, with each componentoccupying
`one byte, such as second, minute, hour, day ofweek, month and year (the year uses up two
`bytes, one for the lower twodigits, and one for the upper two). In case you were wondering
`what BCD means, | am indebted to Peter Farrow for the following...
`In BCD each decimaldigit is mappedto a 4-bit binary number. BCD ts simplya binary
`that terminates at the equivalent ofdecimal "9", so a sequencefor4 bits is:
`
`CHAPTER | THE BIOS
`
`sequence
`
`wadaukRwnro
`
`0000
`0001
`0010
`0011
`0100
`0101
`0110
`0111
`1000
`1001
`after which it returns to 0000, so any v
`
`alue above "9" is not valid. When the BIOS
`complains aboutan invalid BCD code,oneofthe4-bit BCD numbersiscarryingover
`toavaluethatwouldcorrespondtoadecimaldigitvalueofmorethan"9" (1001)
`whichis, of course, invalid.
`And to Mike Echlin for this:
`It'sjusta decimalnumberstoredin hex. i.e. BCD 12 is hex, but meansdecimal 12, and
`Qa in BCD is anerror, but valid, thatis, it’s a validhex number, but when converted to
`decimalis an error (Confusedyet?:-). In other words, a BCD numberisjust4 hex num-
`herthat whenprintedas hex, looks likedecimal, andis readasifit wasdecimal. Soit is
`storedas Ox12,printed in c as:
`x = 0x12;
`printf( "%x", x);
`whichlookslike "12", andis interpretedas 12decimal.
`In summary,all BIOSes have the millenium bit problem,because it's a hangoverfrom the
`IBM architecture, but Award Software, Phoenix and AMIseem to have sorted it outin all
`