throbber
Case 6:21-cv-00735-ADA Document 32-5 Filed 01/27/22 Page 1 of 31
`
`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
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket