| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988 |
- CMOS-Memory Map Release 60 Last change 03jan99
- Compiled from multiple sources by Padgett Peterson
- Corrections/additions/comments to: padgett@tccslr.dnet.mmc.com
- No guarantees of any kind.
- Copyrights/Trademarks belong to whoever they may belong to.
- Found: Algorithm used by IBM in calculating CRC checksums for PS/2
- (see bytes 32h-33h). Complex (recursive part is 12 lines of
- assembly) and not yet validated for every model.
- --------!---Note-----------------------------
- Background
- The CMOS (complementary metal oxide semiconductor) memory is actually
- a 64 or 128 byte battery-backed RAM memory module that is a part of the
- system clock chip. Some IBM PS/2 models have the capability for a
- 2k (2048 byte) CMOS ROM Extension.
- First used with clock-calender cards for the IBM PC-XT, when the PC/AT
- (Advanced Technology) was introduced in 1985, the Motorola MC146818
- became a part of the motherboard. Since the clock only uses fourteen of
- the RAM bytes, the rest are available for storing system configuration data.
- Interestingly, the original IBM-PC/AT (Advanced Technology) standard for
- the region 10h-3Fh is nearly universal with one notable exception: The
- IBM PS/2 systems deviate considerably (Note: AMSTRAD 8086 machines were
- among the first to actively use the CMOS memory available and since they
- *predate* the AT, do not follow the AT standard).
- This is just another example of how IBM created a standard, lost control
- of it, tried to replace it, failed and lost market share in the process.
- Originally, the IBM PC/AT only made use of a small portion of CMOS memory
- and was defined in the IBM PC/AT Technical Reference Manual, specifically
- bytes 10h, 12h, 14h-18h, 2Eh-33h. The balance was left undefined but was
- quickly appropriated by various BIOS manufacturers for such user-selectable
- options such as wait states, clock speeds, initial boot drive selection, and
- password storage.
- Later, as CMOS memory requirements grew, newer clock chips with 128
- bytes of RAM came into use. However the fact remains that once the AT
- standard was established, only IBM has tried to change the definitions
- of that first description.
- Accessing the CMOS
- The CMOS memory exists outside of the normal address space and cannot
- contain directly executable code. It is reachable through IN and OUT
- commands at port number 70h (112d) and 71h (113d). To read a CMOS byte,
- an OUT to port 70h is executed with the address of the byte to be read and
- an IN from port 71h will then retrieve the requested information. The
- following BASIC fragment will read 128 CMOS bytes and print them to the
- screen in 8 rows of 16 values.
- The CMOS RAM space has an upper limit of 128 bytes because of the structure
- of port 70: only bits 0-6 are used for addressing, bit 7 is used to
- enable (0) or disable (1) Non-Maskable Interrupts (NMI) and explains why
- IBM uses 80h OR <address> to read/write data & follows with a "throw-away"
- call.
- Note that if the CMOS only has 64 bytes available, addressing will
- generally wrap and addresses from 40h-7Fh will mirror 00h-3Fh. Output will
- be hexadecimal.
- 10 CLS
- 20 FOR i = 0 TO &H7F
- 30 OUT &H70, i
- 40 PRINT USING "\ \"; HEX$(INP(&H71));
- 50 NEXT i
- 60 PRINT " "
- Note: where not otherwise noted, all data points are expressed as BYTES
- these are eight bit values and are read from MSB to LSB e.g.
- 0000 0000 0101 1010 binary would be written as 5Ah
- 7654 3210 where only some bits are used this is represented with
- Xs e.g bits 5-3 would be shown as 00xx x000
- Note: the entries for AMI WinBIOS also apply to AMIBIOS with core dates of
- 12/15/95 or later
- --------!---Note-----------------------------
- Organization of CMOS Memory - Clock
- 00h-0Eh is defined by the clock hardware and all must follow it. Other
- manufacturers generally follow the same format as specified for the
- region 10h - 2Fh. Some also follow the IBM format for 30h-33h but not all
- (Zenith in particular is different).
- The first fourteen bytes are dedicated to the MC146818 chip clock functions
- and consist of ten read/write data registers and four status registers, two
- of which are read/write and two of which are read only.
- The format of the ten clock data registers (bytes 00h-09h) is:
- ----------R00--------------------------------
- CMOS 00h - RTC - SECONDS
- Desc: (BCD 00-59, Hex 00-3B)
- Note: Bit 7 is read only
- SeeAlso: CMOS 01h,CMOS 02h,CMOS 04h
- ----------R01--------------------------------
- CMOS 01h - RTC - SECOND ALARM
- Desc: (BCD 00-59, Hex 00-3B; "don't care" if C0-FF)
- SeeAlso: CMOS 00h,CMOS 03h,CMOS 05h,CMOS 7Dh
- ----------R02--------------------------------
- CMOS 02h - RTC - MINUTES
- Desc: (BCD 00-59, Hex 00-3B)
- SeeAlso: CMOS 00h,CMOS 03h,CMOS 04h
- ----------R03--------------------------------
- CMOS 03h - RTC - MINUTE ALARM
- Desc: (BCD 00-59, Hex 00-3B; "don't care" if C0-FF))
- SeeAlso: CMOS 00h,CMOS 02h,CMOS 05h,CMOS 7Dh,CMOS 7Eh"AMD-645"
- ----------R04--------------------------------
- CMOS 04h - RTC - HOURS
- Desc: (BCD 00-23, Hex 00-17 if 24 hr mode)
- (BCD 01-12, Hex 01-0C if 12 hr am)
- (BCD 81-92. Hex 81-8C if 12 hr pm)
- SeeAlso: CMOS 00h,CMOS 02h,CMOS 05h
- ----------R05--------------------------------
- CMOS 05h - RTC - HOUR ALARM
- Desc: (same as hours; "don't care" if C0-FF))
- SeeAlso: CMOS 01h,CMOS 03h,CMOS 04h
- ----------R06--------------------------------
- CMOS 06h - RTC - DAY OF WEEK
- Desc: (01-07 Sunday=1)
- SeeAlso: CMOS 07h,CMOS 08h,CMOS 09h
- ----------R07--------------------------------
- CMOS 07h - RTC - DATE OF MONTH
- Desc: (BCD 01-31, Hex 01-1F)
- SeeAlso: CMOS 06h,CMOS 08h,CMOS 09h
- ----------R08--------------------------------
- CMOS 08h - RTC - MONTH
- Desc: (BCD 01-12, Hex 01-0C)
- SeeAlso: CMOS 06h,CMOS 07h,CMOS 09h
- ----------R09--------------------------------
- CMOS 09h - RTC - YEAR
- Desc: (BCD 00-99, Hex 00-63)
- Notes: BCD/Hex selection depends on Bit 2 of register B (0Bh)
- 12/24 Hr selection depends on Bit 1 of register B (0Bh)
- Alarm will trigger when contents of all three Alarm byte registers
- match their companions.
- SeeAlso: CMOS 06h,CMOS 07h,CMOS 08h
- The following is the on-chip status register information.
- ----------R0A--------------------------------
- CMOS 0Ah - RTC - STATUS REGISTER A (read/write) (usu 26h)
- Bitfields for Real-Time Clock status register A:
- Bit(s) Description (Table C0001)
- 7 =1 time update cycle in progress, data ouputs undefined
- (bit 7 is read only)
- 6-4 22 stage divider
- 010 = 32768 Hz time base (default)
- 3-0 rate selection bits for interrupt
- 0000 none
- 0011 122 microseconds (minimum)
- 1111 500 milliseconds
- 0110 976.562 microseconds (default 1024 Hz)
- SeeAlso: #C0002,#C0003,#C0004
- ----------R0B--------------------------------
- CMOS 0Bh - RTC - STATUS REGISTER B (read/write)
- Bitfields for Real-Time Clock status register B:
- Bit(s) Description (Table C0002)
- 7 enable clock setting by freezing updates
- 6 enable periodic interrupt
- 5 enable alarm interrupt
- 4 enable update-ended interrupt
- 3 enable square wave output
- 2 Data Mode - 0: BCD, 1: Binary
- 1 24/12 hour selection - 1 enables 24 hour mode
- 0 Daylight Savings Enable
- =1 enables automatic switching to/from DST in April and October
- SeeAlso: #C0001,#C0003,#C0004
- ----------R0C--------------------------------
- CMOS 0Ch - RTC - STATUS REGISTER C (Read only)
- Bitfields for Real-Time Clock status register C:
- Bit(s) Description (Table C0003)
- 7 Interrupt request flag
- =1 when any or all of bits 6-4 are 1 and appropriate enables
- (Register B) are set to 1. Generates IRQ 8 when triggered.
- 6 Periodic Interrupt flag
- 5 Alarm Interrupt flag
- 4 Update-Ended Interrupt Flag
- 3-0 unused
- SeeAlso: #C0001,#C0002,#C0004
- ----------R0D--------------------------------
- CMOS 0Dh - RTC - STATUS REGISTER D (read only)
- Bitfields for Real-Time Clock status register D:
- Bit(s) Description (Table C0004)
- 7 Valid RAM - 1 indicates batery power good, 0 if dead or disconnected.
- 6-0 unused (0)
- --------!---Note-----------------------------
- Organization of CMOS Memory - non-Clock
- The last two bytes in the first hexadecimal decade (hexade ?) were not
- specified in the PC/AT but may have the following use on some systems:
- ----------R0E--------------------------------
- CMOS 0Eh - IBM PS/2 - DIAGNOSTIC STATUS BYTE
- Bitfields for IBM PS/2 diagnostic status byte:
- Bit(s) Description (Table C0005)
- 7 indicates clock has lost power
- 6 incorrect checksum>
- 5 equipment configuration is incorrect
- (power-on check requires that atleast one floppy be installed)
- 4 error in memory size
- 3 controller or disk drive failed initialization
- 2 time is invalid
- 1 installed adaptors do not match configuration
- 0 time-out while reading adaptor ID
- ----------R0E13------------------------------
- CMOS 0Eh-13h - AMSTRAD - TIME AND DATE MACHINE LAST USED
- ----------R0F--------------------------------
- CMOS 0Fh - IBM - RESET CODE (IBM PS/2 "Shutdown Status Byte")
- (Table C0006)
- Values for Reset Code / Shutdown Status Byte:
- 00h-03h perform power-on reset
- 00h software reset or unexpected reset
- 01h reset after memory size check in real/virtual mode
- (or: chip set initialization for real mode reentry)
- 02h reset after successful memory test in real/virtual mode
- 03h reset after failed memory test in real/virtual mode
- 04h INT 19h reboot
- 05h flush keyboard (issue EOI) and jump via 40h:0067h
- 06h reset (after successful test in virtual mode)
- (or: jump via 40h:0067h without EOI)
- 07h reset (after failed test in virtual mode)
- 08h used by POST during protected-mode RAM test (return to POST)
- 09h used for INT 15/87h (block move) support
- 0Ah resume execution by jump via 40h:0067h
- 0Bh resume execution via IRET via 40h:0067h
- 0Ch resume execution via RETF via 40h:0067h
- 0Dh-FFh perform power-on reset
- --------!---Note-----------------------------
- The second group of values extends from address 10h to 2Dh. The word at
- 2Eh-2Fh is a byte-wise summation of the values in these bytes. Most BIOSes
- will generate a CMOS Checksum error if this value is invalid however many
- programs ignore the checksum and report the apparent value. The current
- version of MSD reports my XT as having 20+ MB of extended memory.
- Where a definiton appears universal, no identification is made. Where
- the definition is thought to be specific to a manufacturer/model (AMI,
- AMSTRAD, IBM AT, IBM PS/2) the identification is enclosed in parens. The
- AMSTAD definitions appear to relate to 8088/8086 (PC and PC/XT class)
- mchines only. AT class machines appear to adhere to IBM PC/AT fornat.
- ----------R10--------------------------------
- CMOS 10h - IBM - FLOPPY DRIVE TYPE
- Note: a PC having a 5 1/4 1.2 Mb A: drive and a 1.44 Mb B: drive will
- have a value of 24h in byte 10h. With a single 1.44 drive: 40h.
- Bitfields for floppy drives A/B types:
- Bit(s) Description (Table C0007)
- 7-4 first floppy disk drive type (see #C0008)
- 3-0 second floppy disk drive type (see #C0008)
- (Table C0008)
- Values for floppy drive type:
- 00h no drive
- 01h 360 KB 5.25 Drive
- 02h 1.2 MB 5.25 Drive - note: not listed in PS/2 technical manual
- 03h 720 KB 3.5 Drive
- 04h 1.44 MB 3.5 Drive
- 05h 2.88 MB 3.5 drive
- 06h-0Fh unused
- SeeAlso: #C0007
- ----------R11--------------------------------
- CMOS 11h - IBM PS/2 - FIRST FIXED DISK DRIVE TYPE BYTE (00-FFh)
- Note: if IBM ESDI or SCSI drive controller is used, CMOS drive type will be
- zero (00 - no drive) and INT 13h will be directed to controller ROM.
- ----------R11--------------------------------
- CMOS 11h - older AMI Hi-Flex BIOS - KEYBOARD TYPEMATIC DATA
- Bitfields for AMI Hi-Flex BIOS keyboard typematic data:
- Bit(s) Description (Table C0009)
- 7 enable Typematic
- 6-5 Typematic Delay (wait before begin repeating)
- 00b 250 ms
- 01b 500 ms
- 10b 750 ms
- 11b 100 ms
- 4-0 Typematic Rate (char/sec)
- 00000b - 30.0 01000b - 15.9 10000b - 7.5 11000b - 3.7
- 00001b - 26.7 01001b - 13.3 10001b - 6.7 11001b - 3.3
- 00010b - 24.0 01010b - 12.0 10010b - 6.0 11010b - 3.0
- 00011b - 21.8 01011b - 10.9 10011b - 5.5 11011b - 2.7
- 00100b - 20.0 01100b - 10.0 10100b - 5.0 11100b - 2.5
- 00101b - 18.5 01101b - 9.2 10101b - 4.6 11101b - 2.3
- 00110b - 17.1 01110b - 8.6 10110b - 4.3 11110b - 2.1
- 00111b - 16.0 01111b - 8.0 10111b - 4.0 11111b - 2.0
- ----------R11--------------------------------
- CMOS 11h - AMI - ADVANCED SETUP OPTIONS
- Bitfields for AMI advanced setup options:
- Bit(s) Description (Table C0010)
- 7 mouse enabled
- 6 test memory above 1 megabyte
- 5 generate clicks during memory test
- 4 enable memory parity check
- 3 display key for Setup while booting
- 2 store user-defined disk data at top of memory instead of 0030h:0000h
- 1 request F1 keypress on boot error
- ----------R11--------------------------------
- CMOS 11h - AMI WinBIOS - BOOT OPTIONS
- SeeAlso: CMOS 13h"AMI"
- Bitfields for AMI WinBIOS boot options:
- Bit(s) Description (Table C0011)
- 7 systems boots with high CPU speed
- 6 memory test above 1MB enabled
- 5 memory test tick sound enabled
- 4 floppy drive seek at boot enabled
- 3 "Hit <Del>" message enabled
- 2 BIOS extended RAM area takes 1K at top of memory instead of 30h:0000h
- 1 wait for F1 key on error
- 0 NumLock enabled at boot
- ----------R11--------------------------------
- CMOS 11h - AWARD - CONFIGURATION BITS
- SeeAlso: CMOS 5Eh"AWARD"
- Bitfields for AWARD configuration bits:
- Bit(s) Description (Table C0012)
- 7 NumLock ON at reboot
- 6 IDE Block Mode enabled
- 5 ???
- 4 Shadow ROM BIOS at CC00-CFFF
- 3 Shadow ROM BIOS at C800-CBFF
- 2 ???
- 1 BIOS Password Enabled (supervisor)
- 0 0 = Password controls BIOS Setup Only
- 1 = Password required to enter System
- SeeAlso: #C0083
- Code snippet by Jens Rehsack:
- FUNCTION CalcPossiblePassword( PasswordValue: WORD ): STRING[8];
- VAR
- I : BYTE;
- C : CHAR;
- S : STRING[8];
- BEGIN
- I := 0;
- WHILE PasswordValue <> 0 DO
- BEGIN
- Inc( I );
- IF $263 > PasswordValue THEN
- BEGIN
- IF $80 > PasswordValue THEN
- S[I] := CHAR( PasswordValue )
- ELSE IF $B0 > PasswordValue THEN
- S[I] := CHAR( PasswordValue AND $77 )
- ELSE IF $11D > PasswordValue THEN
- S[I] := CHAR( $30 OR ( PasswordValue AND $0F ) )
- ELSE IF $114 > PasswordValue THEN
- BEGIN
- S[I] := CHAR( $64 OR ( PasswordValue AND $0F ) );
- IF '0' > S[I] THEN
- S[I] := CHAR( BYTE( S[I] ) + 8 );
- END ELSE IF $1C2 > PasswordValue THEN
- S[I] := CHAR( $70 OR ( PasswordValue AND $03 ) )
- ELSE IF $1E4 > PasswordValue THEN
- S[I] := CHAR( $30 OR ( PasswordValue AND $03 ) )
- ELSE
- BEGIN
- S[I] := CHAR( $70 OR ( PasswordValue AND $0F ) );
- IF 'z' < S[I] THEN
- S[I] := CHAR( BYTE( S[I] ) - 8 );
- END;
- END ELSE
- S[I] := CHAR( $30 OR ( PasswordValue AND $3 ) );
- PasswordValue := ( PasswordValue - BYTE( S[I] ) ) SHR 2;
- END;
- S[0] := CHAR( I );
- PasswordValue := I SHR 1;
- WHILE PasswordValue < I DO
- BEGIN {this is to do because award starts calculating with the last letter}
- C := S[BYTE( S[0] ) - I + 1];
- S[BYTE( S[0] ) - I + 1] := S[I];
- S[I] := C;
- Dec( I );
- END;
- CalcPossiblePassword := S;
- END;
- "Okay, the algorithms based on the knowlege, that the award-bios' 4.50 and 4.51
- but not (seems to) with earlier versions stores only the last 2 bit of every
- character typed in..."
- int CalcPasswordCRC( char pw[8] ): word
- {
- register int i = 8;
- register unsigned w = 0;
- while( i-- )
- w |= ( unsigned( pw[i] ) & 0x3 ) << ( i * 2 );
- return w;
- }
- ----------R11--------------------------------
- CMOS 11h - Quadtel HT12 BIOS 03.05.03 - CONFIGURATION BITS
- Bitfields for Quadtel HT12 configuration bits:
- Bit(s) Description (Table C0013)
- 7 640K RAM present
- 6 extension type (=CPU's Machine Status Word)
- 3-2 NumLock state at boot time
- 00 Auto
- 01 NumLock on
- 10 Numlock off
- 0 384K RAM relocated to top of memory
- ----------R12--------------------------------
- CMOS 12h - IBM - HARD DISK DATA
- Notes: A PC with a single type 2 (20 Mb ST-225) hard disk will have 20h in
- byte 12h
- some PCs utilizing external disk controller ROMs will use type 0 to
- disable ROM BIOS (e.g. Zenith 248 with Plus HardCard).
- Bitfields for IBM hard disk data:
- Bit(s) Description (Table C0014)
- 7-4 First Hard Disk Drive
- 00 No drive
- 01-0Eh Hard drive Type 1-14
- 0Fh Hard Disk Type 16-255
- (actual Hard Drive Type is in CMOS RAM 19h)
- 3-0 Second Hard Disk Drive Type
- (same as first except extrnded type will be found in 1Ah).
- ----------R12--------------------------------
- CMOS 12h - IBM PS/2 - SECOND FIXED DISK DRIVE TYPE (00-FFh)
- SeeAlso: CMOS 11h"IBM PS/2"
- ----------R13--------------------------------
- CMOS 13h - AMI Hi-Flex BIOS - ADVANCED SETUP OPTIONS
- SeeAlso: CMOS 11h"WinBIOS"
- Bitfields for AMI Hi-Flex BIOS advanced setup options:
- Bit(s) Description (Table C0015)
- 7 Mouse Enabled (1 = On)
- 6 Test Memory above 1 MB (1 = On)
- 5 Memory Test Tick Sound (1 = On)
- 4 Memory Parity Error Check (1 = On)
- 3 Press <Esc> to Disable Memory Test (1 = On)
- 2 User-Defined Hard Disk (1 = Type 47 data area at address 0:300h)
- 1 Wait for <F1> Message if Error (1 = On)
- 0 Turn Num Lock On at boot (1 = On)
- ----------R13--------------------------------
- CMOS 13h - AMI WinBIOS - PERIPHERAL OPTIONS
- Bitfields for AMI WinBIOS peripheral options:
- Bit(s) Description (Table C0016)
- 7-5 typematic rate
- 000-111 = 6,8,10,12,15,20,24,30 cps
- 4 numeric processor test enabled
- ----------R13--------------------------------
- CMOS 13h - PS/2 MCA - INTERNAL POST OPERATIONS
- Bitfields for PS/2 MCA internal POST operations:
- Bit(s) Description (Table C0017)
- 7 POST sets VGA pel information
- 6 RTC battery OK
- 5 invoke ROM BASIC from POST
- 4 POST sets typematic to 30cps/250ms delay instead of 10.9cps/500ms
- 3-2 unused or unknown
- 1 network password installed
- 0 power-on password installed
- ----------R13--------------------------------
- CMOS 13h - AWARD - Configuration Bits
- Bitfields for AWARD configuration bits:
- Bit(s) Description (Table C0018)
- 7 set keyboard typematic rate
- 4-6 keyboard repeat rate
- 000 = 6 cps
- 001 = 8 cps
- 010 = 10 cps
- 011 = 12 cps
- 100 = 15 cps
- 101 = 20 cps
- 110 = 24 cps
- 111 = 30 cps
- 2-3 keyboard typematic delay
- 00 = 250 Msec
- 01 = 500 Msec
- 10 = 750 Msec
- 11 = 1000 Msec
- 1 ???
- 0 boot up floppy seek
- ----------R14--------------------------------
- CMOS 14h - IBM - EQUIPMENT BYTE
- Bitfields for IBM equipment byte:
- Bit(s) Description (Table C0019)
- 7-6 number of floppy drives (system must have at least one)
- 00b 1 Drive
- 01b 2 Drives
- 10b ??? 3 Drives
- 11b ??? 4 Drives
- 5-4 monitor type
- 00b Not CGA or MDA (observed for EGA & VGA)
- 01b 40x25 CGA
- 10b 80x25 CGA
- 11b MDA (Monochrome)
- 3 display enabled (turned off to enable boot of rackmount)
- 2 keyboard enabled (turn off to enable boot of rackmount)
- 1 math coprocessor installed
- 0 floppy drive installed (turned off for rackmount boot)
- ----------R14--------------------------------
- CMOS 14h - AMSTRAD - BYTE user RAM checksum
- Desc: LSB of sum of all user bytes should be AAh
- ----------R15--------------------------------
- CMOS 15h - IBM - BASE MEMORY IN KB (low byte)
- ----------R1516------------------------------
- CMOS 15h-16h - AMSTRAD - Enter key scancode/ASCII code
- Size: WORD
- Desc: specify the BIOS keycode for keyboard scancode 74h
- Note: default: 1C0Dh - emulates Return key
- SeeAlso: INT 09,CMOS 17h"AMSTRAD"
- ----------R16--------------------------------
- CMOS 16h - IBM - BASE MEMORY IN KB (high byte)
- Note: The value in 15h-16h should be the same as in 0:413h and that
- returned by INT 12h. A PC having 640k (280h) of conventional
- memory will return 80h in byte 15h and 02h in byte 16h.
- ----------R17--------------------------------
- CMOS 17h - IBM - EXTENDED MEMORY IN KB (low byte)
- ----------R1718------------------------------
- CMOS 17h-18h - AMSTRAD - Forward delete key scancode/ASCII code
- Size: WORD
- Desc: specify the BIOS keycode for keyboard scancode 70h
- Note: default: 2207h - emulates ^G (bell/beep)
- SeeAlso: INT 09,CMOS 15h"AMSTRAD",CMOS 19h"AMSTRAD"
- ----------R18--------------------------------
- CMOS 18h - IBM - EXTENDED MEMORY IN KB (high byte)
- Notes: some systems will only accommodate 15 MB extended (16 MB total)
- Format is the same as in 15h-16h
- ----------R19--------------------------------
- CMOS 19h - IBM - FIRST EXTENDED HARD DISK DRIVE TYPE
- Note: not in original AT specification but now nearly universally used
- except for PS/2.
- (Table C0020)
- Values for extended hard disk drive type:
- 00-0Fh unused (would not require extension. Note: this has the effect of
- making type 0Fh (15d) unavailable.
- 10h-FFh First Extended Hard Drive Type 16d-255d
- Note: For most manufacturers the last drive type (typically either 47d or 49d)
- is "user defined" and parameters are stored elsewhere in the CMOS.
- ----------R19--------------------------------
- CMOS 19h - MCA - SLOT 0 ADAPTER CARD ID
- ----------R19--------------------------------
- CMOS 19h - AMI - ???
- Bitfields for AMI location 19h:
- Bit(s) Description (Table C0021)
- 3-0 ???
- 7-4 ???
- ----------R191A------------------------------
- CMOS 19h-1Ah - AMSTRAD - Joystick fire button 1 scancode/ASCII code
- Size: WORD
- Desc: specify the BIOS keycode for keyboard scancode 77h
- Note: default: FFFFh - (no translation)
- SeeAlso: INT 09,CMOS 17h"AMSTRAD",CMOS 1Bh"AMSTRAD"
- ----------R1A--------------------------------
- CMOS 1Ah - SECOND EXTENDED HARD DISK DRIVE TYPE
- SeeAlso: CMOS 19h"IBM",#C0020
- ----------R1A--------------------------------
- CMOS 1Ah - MCA - SLOT 0 ADAPTER CARD ID
- ----------R1B--------------------------------
- CMOS 1Bh - MCA - SLOT 1 ADAPTER CARD ID
- ----------R1B--------------------------------
- CMOS 1Bh - AMI - First Hard Disk (type 47) user defined: # of Cylinders, LSB
- ----------R1B1C------------------------------
- CMOS 1Bh-1Ch - AMSTRAD - Joystick fire button 2 scancode/ASCII code
- Size: WORD
- Desc: specify the BIOS keycode for keyboard scancode 78h
- Note: default: FFFFh - (no translation)
- SeeAlso: INT 09,CMOS 19h"AMSTRAD",CMOS 1Dh"AMSTRAD"
- ----------R1B--------------------------------
- CMOS 1Bh - PHOENIX - LSB of Word to 82335 RC1 roll compare register
- ----------R1B--------------------------------
- CMOS 1Bh - AWARD - CONFIGURATION BITS
- Bitfields for AWARD shadow RAM configuration bits:
- Bit(s) Description (Table C0022)
- 7-4 ???
- 3 Shadow ROM BIOS at DC00-DFFF
- 2 shadow " " " D800-DBFF
- 1 shadow " " " D400-D7FF
- 0 shadow " " " D000-D3FF
- ----------R1C--------------------------------
- CMOS 1Ch - MCA - SLOT 1 ADAPTER CARD ID
- ----------R1C--------------------------------
- CMOS 1Ch - AMI - First Hard Disk user defined: # of Cylinders, High Byte
- ----------R1C--------------------------------
- CMOS 1Ch - PHOENIX - MSB of Word to 82335 RC1 roll compare register
- --------y-R1C--------------------------------
- CMOS 1Ch,1Dh - AWARD - Password
- Note: Stored as a checksum using the following algorithm:
- initialize 16-bit checksum to zero
- for each ASCII character between 32 (space) and 127 (DEL) in the
- password, add character to checksum, then rotate left two bits
- store low byte of result in 1Ch and high byte in 1Dh (for user
- password, use locations 4Dh and 4Eh instead)
- SeeAlso: CMOS 4Dh"AWARD"
- ----------R1D--------------------------------
- CMOS 1Dh - MCA - SLOT 2 ADAPTER CARD ID
- ----------R1D--------------------------------
- CMOS 1Dh - AMI - First Hard Disk user defined: Number of Heads
- ----------R1D--------------------------------
- CMOS 1Dh - AMSTRAD - mouse button 1 scancode/ASCII code
- Size: WORD
- Desc: specify the BIOS keycode for keyboard scancode 7Dh
- Note: default: FFFFh - (no translation)
- SeeAlso: INT 09,CMOS 1Bh"AMSTRAD",CMOS 1Fh"AMSTRAD"
- ----------R1D--------------------------------
- CMOS 1Dh - Zenith Z-200 monitor - BOOT DRIVE SELECTION
- Bitfields for Zenith Z-200 boot drive selection:
- Bit(s) Description (Table C0023)
- 6-5 (0xx0 0000)
- 00 - MFM Monitor
- 01 - First floppy drive (A:)
- 10 - First fixed disk (C:)
- 11 - First floppy drive (A:). If not there then First fixed disk (C:)
- (this is the default).
- ----------R1D--------------------------------
- CMOS 1Dh - PHOENIX - LSB of Word to 82335 RC2 roll compare register
- --------y-R1D--------------------------------
- CMOS 1Dh - AWARD - MSB of password checksum (see byte 1Ch)
- ----------R1D--------------------------------
- CMOS 1Dh - Quadtel HT 12 BIOS - first user def. drive: # of cylinders low byte
- ----------R1E--------------------------------
- CMOS 1Eh - MCA - SLOT 2 ADAPTER CARD ID
- ----------R1E--------------------------------
- CMOS 1Eh - AMI - First Hard Disk user defined: WPC-low
- Desc: Write Precompensation Cylinder, Low Byte, for first user-defined hard
- disk
- ----------R1E--------------------------------
- CMOS 1Eh - PHOENIX - MSB of Word to 82335 RC2 roll compare register
- ----------R1E--------------------------------
- CMOS 1Eh - AWARD - 2nd Hard Disk user defined: # of Cylinders Low Byte
- ----------R1E--------------------------------
- CMOS 1Eh - Quadtel HT 12 BIOS - FIRST USER DEFINED DRIVE
- Bitfields for Quadtel HT-12 user-defined drive heads/cylinders:
- Bit(s) Description (Table C0024)
- 7-4 number of heads
- 3-0 number of cylinders (MSB)
- ----------R1F--------------------------------
- CMOS 1Fh - MCA - SLOT 3 ADAPTER CARD ID
- ----------R1F--------------------------------
- CMOS 1Fh - AMI - First Hard Disk user defined: WPC-high
- Desc: Write Precompensation Cylinder, high byte, for first user-defined
- hard disk
- ----------R1F20------------------------------
- CMOS 1Fh-20h - AMSTRAD - mouse button 2 scancode/ASCII code
- Size: WORD
- Desc: specify the BIOS keycode for keyboard scancode 7Eh
- Note: default: FFFFh - (no translation)
- SeeAlso: INT 09,CMOS 1Dh"AMSTRAD"
- ----------R1F--------------------------------
- CMOS 1Fh - AWARD - 2nd Hard Disk user defined (type 48): # of Cylinders High
- ----------R1F--------------------------------
- CMOS 1Fh - Quadtel HT 12 BIOS - first user def. drive: WPC-low
- Desc: Write Precompensation Cylinder, low byte, for first user-defined
- hard disk
- ----------R20--------------------------------
- CMOS 20h - MCA - SLOT 3 ADAPTER CARD ID
- ----------R20--------------------------------
- CMOS 20h - AMI - First Hard Disk user defined: Control Byte
- Bitfields for AMI user-defined hard disk control byte:
- Bit(s) Description (Table C0025)
- 7-6 no retries (1)
- 5 bad sector map at last cylinder+1
- 4 unused (0)
- 3 more than 8 heads
- 2-0 unused (0)
- ----------R20--------------------------------
- CMOS 20h - AMI WinBIOS - First Hard Disk user defined: Landing Zone, Low Byte
- ----------R20--------------------------------
- CMOS 20h - PHOENIX - First user defined hard disk (type 48) Cylinders LSB
- ----------R20--------------------------------
- CMOS 20h - AWARD - 2nd Hard Disk user defined (type 48): Number of Heads
- ----------R20--------------------------------
- CMOS 20h - Quadtel HT 12 BIOS - FIRST USER DEFINED DRIVE
- SeeAlso: CMOS 26h"Quadtel"
- Bitfields for Quadtel landing zone/write-precompensation:
- Bit(s) Description (Table C0026)
- 7-4 landing zone MSB
- 3-0 write precom. cyl. MSB
- ----------R21--------------------------------
- CMOS 21h - MCA - Programmable Option Select configuration byte 2
- ----------R21--------------------------------
- CMOS 21h - AMI - First Hard Disk user defined: Landing Zone, Low Byte
- ----------R21--------------------------------
- CMOS 21h - AMI WinBIOS - First Hard Disk user defined: Landing Zone, High Byte
- ----------R21--------------------------------
- CMOS 21h - AMSTRAD - MOUSE X SCALING FACTOR
- Note: default: 0Ah
- ----------R21--------------------------------
- CMOS 21h - PHOENIX - First user defined hard disk (type 48) Cylinders MSB
- ----------R21--------------------------------
- CMOS 21h - AWARD - 2nd Hard Disk user defined (type 48): Write Precomp Low Byte
- ----------R21--------------------------------
- CMOS 21h - Quadtel HT 12 BIOS - first user def. drive: landing zone low byte
- ----------R22--------------------------------
- CMOS 22h - MCA - Programmable Option Select configuration byte 3
- ----------R22--------------------------------
- CMOS 22h - AMI - First Hard Disk user defined: Landing Zone, High Byte
- ----------R22--------------------------------
- CMOS 22h - AMI WinBIOS - First Hard Disk user defined: # of Sectors per track
- ----------R22--------------------------------
- CMOS 22h - AMSTRAD - MOUSE Y SCALING FACTOR
- Note: default: 0Ah
- ----------R22--------------------------------
- CMOS 22h - PHOENIX - First user defined hard disk (type 48) of Heads
- ----------R22--------------------------------
- CMOS 22h - AWARD - 2nd Hard Disk user defined (type 48): Write Precomp High Byte
- ----------R22--------------------------------
- CMOS 22h - Quadtel HT 12 BIOS - first user def. drive: sectors per track
- ----------R23--------------------------------
- CMOS 23h - MCA - Programmable Option Select configuration byte 4
- ----------R23--------------------------------
- CMOS 23h - AMI - First Hard Disk user defined: # of Sectors per track
- ----------R23--------------------------------
- CMOS 23h - AMI WinBIOS - Second Hard Disk user defined: # Cylinders, Low Byte
- ----------R23--------------------------------
- CMOS 23h - AMSTRAD - INITIAL VDU MODE AND DRIVE COUNT
- Note: default: 20h
- Bitfields for Amstrad initial VDU mode/drive count:
- Bit(s) Description (Table C0027)
- 7 enables extended serial flow control (NB this is buggy)
- 6 set if two floppy drives installed
- 5-4 (from Amstrad 1640 tech ref)
- 00 Internal video adapter
- 01 CGA card added; 40 x 25 mode
- 10 CGA card added; 80 x 25 mode
- 11 mono card added; 80 x 25 mode
- ----------R23--------------------------------
- CMOS 23h - PHOENIX - First user defined hard disk (type 48) Write Precomp. LSB
- ----------R23--------------------------------
- CMOS 23h - AWARD - 2nd Hard Disk user defined (type 48): Landing Zone Low Byte
- ----------R23--------------------------------
- CMOS 23h - Quadtel HT 12 BIOS - second user def. drive: # of cylinders low byte
- ----------R24--------------------------------
- CMOS 24h - MCA - Programmable Option Select configuration byte 5
- ----------R24--------------------------------
- CMOS 24h - AMI - Second Hard Disk user defined: # Cylinders, Low Byte
- ----------R24--------------------------------
- CMOS 24h - AMI WinBIOS - Second Hard Disk user defined: # Cylinders, High Byte
- ----------R24--------------------------------
- CMOS 24h - AMSTRAD - INITIAL VDU CHARACTER ATTRIBUTE
- Note: default: 7h
- ----------R24--------------------------------
- CMOS 24h - PHOENIX - First user defined hard disk (type 48) Write Precomp. MSB
- ----------R24--------------------------------
- CMOS 24h - AWARD - 2nd Hard Disk user defined (type 48): Landing Zone High Byte
- ----------R24--------------------------------
- CMOS 24h - Quadtel HT 12 BIOS - SECOND USER DEFINED DRIVE
- SeeAlso: CMOS 1Eh"Quadtel",#C0024
- ----------R25--------------------------------
- CMOS 25h - AMI - Second Hard Disk user defined: # of Cylinders, High Byte
- ----------R25--------------------------------
- CMOS 25h - AMI WinBIOS - Second Hard Disk user defined: Number of Heads
- ----------R25--------------------------------
- CMOS 25h - AMSTRAD - size of RAM disk in 2K blocks
- Note: default: 0 - only used by the RAMDISK software supplied.
- ----------R25--------------------------------
- CMOS 25h - PHOENIX - First user defined hard disk (type 48) Parking zone LSB
- ----------R25--------------------------------
- CMOS 25h - AWARD - 2nd Hard Disk user defined (type 48): Sectors per Track
- ----------R25--------------------------------
- CMOS 25h - Quadtel HT 12 BIOS - second user def. drive: WPC-low
- Desc: Write Precompensation Cylinder, low byte
- ----------R26--------------------------------
- CMOS 26h - AMI - Second Hard Disk user defined: Number of Heads
- ----------R26--------------------------------
- CMOS 26h - AMI WinBIOS - Second Hard Disk user defined: WPC-low
- Desc: Write Precompensation Cylinder, Low Byte
- ----------R26--------------------------------
- CMOS 26h - AMSTRAD - INITIAL SYSTEM UART SETUP BYTE
- Note: default: E3h - format as for Int 14h fn 0
- ----------R26--------------------------------
- CMOS 26h - PHOENIX - First user defined hard disk (type 48) Parking zone MSB
- ----------R26--------------------------------
- CMOS 26h - AWARD - 1st Hard Disk user defined (type 49): # Cylinders, Low Byte
- ----------R26--------------------------------
- CMOS 26h - Quadtel HT 12 BIOS - SECOND USER DEFINED DRIVE
- SeeAlso: CMOS 20h"Quadtel",#C0026
- ----------R27--------------------------------
- CMOS 27h - AMI - Second Hard Disk user defined: WPC-low
- Desc: Write Precompensation Cylinder, Low Byte
- ----------R27--------------------------------
- CMOS 27h - AMI WinBIOS - Second Hard Disk user defined: WPC-high
- Desc: Write Precompensation Cylinder, High Byte
- ----------R27--------------------------------
- CMOS 27h - AMSTRAD - INITIAL EXTERNAL UART SETUP BYTE
- Note: default: E3h - format as for Int 14h fn 0
- ----------R27--------------------------------
- CMOS 27h - PHOENIX - First user defined hard disk (type 48) Sectors per track
- ----------R27--------------------------------
- CMOS 27h - AWARD - 1st Hard Disk user defined (type 49): # Cylinders, High Byte
- ----------R27--------------------------------
- CMOS 27h - Quadtel HT 12 BIOS - SECOND USER DEF. DRIVE: landing zone low byte
- ----------R28--------------------------------
- CMOS 28h - AMI - Second Hard Disk user defined: WPC-high
- Desc: Write Precompensation Cylinder, High Byte
- ----------R28--------------------------------
- CMOS 28h - AMI WinBIOS - Second Hard Disk user defined: Landing Zone, Low Byte
- ----------R28--------------------------------
- CMOS 28h - HP Vectra - checksum over bytes 29h-2Dh
- ----------R28--------------------------------
- CMOS 28h - AWARD - 1st Hard Disk user defined (type 49): Number of Heads
- ----------R28--------------------------------
- CMOS 28h - Quadtel HT 12 BIOS - second user def. drive: sectors per track
- ----------R283F------------------------------
- CMOS 28h-3Fh - AMSTRAD - user applications default: zeroes
- ----------R29--------------------------------
- CMOS 29h - AMI - Second Hard Disk user defined: Control Byte
- Note: 80h if # of heads is equal or greater than 8
- ----------R29--------------------------------
- CMOS 29h - AMI WinBIOS - Second Hard Disk user defined: Landing Zone, High Byte
- ----------R29--------------------------------
- CMOS 29h - PHOENIX - LSB word to Intel 82335 CC0 compare register
- ----------R29--------------------------------
- CMOS 29h - AWARD - 1st Hard Disk user defined (type 49): Write Precomp Low Byte
- ----------R29--------------------------------
- CMOS 29h - HP Vectra - OFFICIALLY RESERVED "CMOS_HPCONFIG"
- Bitfields for HP Vectra CMOS_HPCONFIG:
- Bit(s) Description (Table C0028)
- 7 include byte 2Ch in checksum (default = 0)
- 6 select second ROM video adapter as primary (default = 0)
- 5-1 reserved
- 0 manufacturing test enabled
- ----------R2A--------------------------------
- CMOS 2Ah - AMI - Second Hard Disk user defined: Landing Zone, Low Byte
- ----------R2A--------------------------------
- CMOS 2Ah - AMI WinBIOS - Second Hard Disk user defined: # of Sectors per track
- ----------R2A--------------------------------
- CMOS 2Ah - HP Vectra - OFFICIALLY RESERVED
- ----------R2A--------------------------------
- CMOS 2Ah - PHOENIX - MSB word to Intel 82335 CC0 compare register
- ----------R2A--------------------------------
- CMOS 2Ah - AWARD - 1st Hard Disk user defined (type 49): Write Precomp High
- ----------R2B--------------------------------
- CMOS 2Bh - AMI - Second Hard Disk user defined: Landing Zone, High Byte
- ----------R2B--------------------------------
- CMOS 2Bh - AMI WinBIOS - IDE and shadowing control
- Bitfields for AMI WinBIOS IDE/shadowing control:
- Bit(s) Description (Table C0029)
- 7 LBA mode enabled
- 6 IDE block mode enabled
- 5 32-bit transfer enabled
- 4 unused
- 3 shadowing of DC00h enabled
- 2 shadowing of D800h enabled
- 1 shadowing of D400h enabled
- 0 shadowing of D000h enabled
- SeeAlso: #C0030
- ----------R2B--------------------------------
- CMOS 2Bh - HP Vectra - OFFICIALLY RESERVED
- ----------R2B--------------------------------
- CMOS 2Bh - PHOENIX - LSB word to Intel 82335 CC1 compare register
- ----------R2B--------------------------------
- CMOS 2Bh - AWARD - 1st Hard Disk user defined (type 49): Landing Zone Low Byte
- ----------R2C--------------------------------
- CMOS 2Ch - AMI - Second Hard Disk user defined: # of Sectors per track
- ----------R2C--------------------------------
- CMOS 2Ch - AMI WinBIOS - CACHE CONTROL
- Bitfields for AMI WinBIOS cache control:
- Bit(s) Description (Table C0030)
- 7 external RAM cache enabled
- 6 internal RAM cache enabled
- 5 shadowing of E000h enabled
- 4 shadowing of CC00h enabled
- 3 shadowing of C800h enabled
- 2 shadowing of C400h (video ROM) enabled
- 1 shadowing of C000h (video ROM) enabled
- 0 shadowing of system BIOS (F000h, 64K) enabled
- SeeAlso: #C0029
- ----------R2C--------------------------------
- CMOS 2Ch - HP Vectra - OFFICIALLY RESERVED
- ----------R2C--------------------------------
- CMOS 2Ch - COMPAQ - NumLock CONTROL
- Bitfields for Compaq NumLock control:
- Bit(s) Description (Table C0031)
- 6 0 - numlock OFF on boot, 1 - numlock ON at boot
- ----------R2C--------------------------------
- CMOS 2Ch - PHOENIX - MSB word to Intel 82335 CC1 compare register
- ----------R2C--------------------------------
- CMOS 2Ch - AWARD - 1st Hard Disk user defined (type 49): Landing Zone High Byte
- ----------R2D--------------------------------
- CMOS 2Dh - AMI Hi-Flex BIOS - CONFIGURATION OPTIONS
- Bitfields for AMI Hi-Flex BIOS configuration options:
- Bit(s) Description (Table C0032)
- 7 Weitek Installed
- 6 Floppy Drive Seek - turn off for fast boot
- 5 Boot Order
- 0 - Drive C:, then A:
- 1 - Drive A:, then C:
- 4 Boot Speed (0 - Low; 1 - High)
- 3 External Cache Enable (1 = On)
- 2 Internal Cache Enable (1 = On)
- 1 Use Fast Gate A20 after boot (1 = On)
- 0 Turbo Switch (1 = On)
- ----------R2D--------------------------------
- CMOS 2Dh - AMI WinBIOS - flags
- Bitfields for AMI WinBIOS flags:
- Bit(s) Description (Table C0033)
- 7 Weitek Installed
- 6 bootsector virus protection enabled
- 5 mouse enabled
- 4 password checking (0 setup, 1 always)
- 3 parity error check enabled
- 2-1 boot order (00 = C:A:, 01 = A:C:)
- 0 turbo switch enabled
- ----------R2D--------------------------------
- CMOS 2Dh - HP Vectra - OFFICIALLY RESERVED
- ----------R2D--------------------------------
- CMOS 2Dh - PHOENIX - ???
- Note: checks for values AAh or CCh
- ----------R2D--------------------------------
- CMOS 2Dh - AWARD - 1st Hard Disk user defined (type 49): Sectors per Track
- ----------R2E--------------------------------
- CMOS 2Eh - IBM - Standard CMOS Checksum, High Byte
- ----------R2F--------------------------------
- CMOS 2Fh - IBM - Standard CMOS Checksum, Low Byte
- 2Eh and 2Fh are as defined by the original IBM PC/AT specification and
- represent a byte-wise additive sum of the values in locations 10h-2Dh only,
- 00h-0Fh and 30h-33h are not included. This definition is used by most
- clone manufacturers including AMI, Compaq, Tandon, NEC, and Zenith. The
- IBM PS/2 line does not follow this standard with the range 19h-31h being
- undefined. On the original HP Vectra, this checksum only covers locations
- 10h to 20h, with a separate checksum for bytes 29h-2Ch (see offset 28h).
- ----------R30--------------------------------
- CMOS 30h - IBM - EXTENDED MEMORY IN KB (low byte)
- SeeAlso: CMOS 17h"IBM",CMOS 31h
- ----------R31--------------------------------
- CMOS 31h - IBM - EXTENDED MEMORY IN KB (high byte)
- (this appears to mirror the value in bytes 17h-18h.)
- SeeAlso: CMOS 18h"IBM",CMOS 30h
- ----------R32--------------------------------
- CMOS 32h - IBM - CENTURY BYTE (BCD value for the century - currently 19h)
- SeeAlso: CMOS 7Fh
- ----------R32--------------------------------
- CMOS 32h - IBM PS2 - CONFIGURATION CRC LOW BYTE
- Desc: CRC for range 10h-31h
- SeeAlso: CMOS 33h"PS/2"
- ----------R33--------------------------------
- CMOS 33h - IBM - INFORMATION FLAG
- Bitfields for IBM information flag:
- Bit(s) Description (Table C0034)
- 7 128K ??? believe this indicates the presence of the special 128k
- memory expansion board for the AT to boost the "stock" 512k
- to 640k - all machines surveyed have this bit set)
- 6-0 ???
- ----------R33--------------------------------
- CMOS 33h - IBM PS/2 - CONFIGURATION CRC HIGH BYTE (see entry for 32h)
- SeeAlso: CMOS 32h"PS/2"
- ----------R33--------------------------------
- CMOS 33h - PHOENIX - Bit 4 (000x 0000) bit 4 from Intel CPU register CR0
- ----------R33--------------------------------
- CMOS 33h - AMI WinBIOS - INFORMATION FLAGS
- Bitfields for AMI WinBIOS information flags:
- Bit(s) Description (Table C0035)
- 7 IBM-defined top 128K present
- 6-4 CPU internal clock frequency
- 000-011 = 25, 33, 40, 50 MHz
- 100 = 60/66 MHz
- 101 = 75 MHz
- 110 = 80 MHz
- 111 = 90/100 MHz
- 2-1 CPU internal clock multiplier
- 00-11 = 1,2,3,4
- 0 FlashROM programming enabled (Ctrl-Home pressed at power on)
- Note: this location is not included in any CMOS checksum fields
- ----------R33--------------------------------
- CMOS 33h - Quadtel HT12 BIOS 03.05.03 - INFORMATION FLAGS
- Bitfields for Quadtel HT12 information flags:
- Bit(s) Description (Table C0036)
- 7 640K RAM present
- 6 extension type (=CPU's Machine Status Word)
- 1 print welcome message
- ----------R34--------------------------------
- CMOS 34h - AMI - SHADOWING & BOOT PASSWORD
- SeeAlso: CMOS 35h"AMI"
- Bitfields for AMI shadowing control 1:
- Bit(s) Description (Table C0037)
- 7-6 password selection
- 00b Disable
- 10b Reserved
- 01b Set
- 11b Boot
- 5 C8000h Shadow ROM (Bit 1 = On)
- 4 CC000h Shadow ROM (Bit 1 = On)
- 3 D0000h Shadow ROM (Bit 1 = On)
- 2 D4000h Shadow ROM (Bit 1 = On)
- 1 D8000h Shadow ROM (Bit 1 = On)
- 0 DC000h Shadow ROM (Bit 1 = On)
- SeeAlso: #C0038
- ----------R34--------------------------------
- CMOS 34h - AMI - EXTENDED MEMORY >16M (low byte)
- Note: this and the following byte contain the total extended memory in 64K
- blocks
- SeeAlso: CMOS 35h"AMI"
- ----------R34--------------------------------
- CMOS 34h - (AMI WinBIOS) system-specific information (bits 3-1)
- ----------R343A------------------------------
- CMOS 34h-3Ah - (AWARD) ??? unused ??? Defaults to all FFh's.
- ----------R35--------------------------------
- CMOS 35h - AMI - EXTENDED MEMORY >16M (high byte)
- Note: this and the previous byte contain the total extended memory in 64K
- blocks
- SeeAlso: CMOS 34h"AMI"
- ----------R35--------------------------------
- CMOS 35h - AMI - SHADOWING CONTROL 2
- SeeAlso: CMOS 34"AMI"
- Bitfields for AMI shadowing control 2:
- Bit(s) Description (Table C0038)
- 7 E0000h Shadow ROM (Bit 1 = On)
- 6 E4000h Shadow ROM (Bit 1 = On)
- 5 E8000h Shadow ROM (Bit 1 = On)
- 4 EC000h Shadow ROM (Bit 1 = On)
- 3 F0000h Shadow ROM (Bit 1 = On)
- 2 C0000h Shadow ROM (Bit 1 = On)
- 1 C4000h Shadow ROM (Bit 1 = On)
- 0 reserved
- SeeAlso: #C0037
- ----------R35--------------------------------
- CMOS 35h - AMI WinBIOS - EXTENDED MEMORY SIZE IN 64K BLOCKS (low byte)
- SeeAlso: CMOS 36h"AMI WinBIOS"
- ----------R35--------------------------------
- CMOS 35h - PHOENIX - Second user defined hard disk (type 48) Cylinders LSB
- Note: used only when PS/2 style password is NOT in effect
- ----------R35--------------------------------
- CMOS 35h - AMI 1990 Hyundai super-NB368S notebook
- Bitfields for Hyundai configuration:
- Bit(s) Description (Table C0039)
- 3-1 shadowing
- 000 shadow disabled
- 011 video BIOS shadowed
- 100 main BIOS shadowed
- 111 both
- 0 coprocessor enabled
- ----------R36--------------------------------
- CMOS 36h - PHOENIX - Second user defined hard disk (type 48) Cylinders MSB
- Note: used only when PS/2 style password is NOT in effect.
- ----------R36--------------------------------
- CMOS 36h - AWARD - IDE control
- Bitfields for AWARD IDE control:
- Bit(s) Description (Table C0040)
- 6 IDE 32-bit transfer mode
- ----------R36--------------------------------
- CMOS 36h - AMI - ???
- Bitfields for AMI ???:
- Bit(s) Description (Table C0041)
- 1-0 ???
- 3-2 ???
- ----------R36--------------------------------
- CMOS 36h - AMI WinBIOS - EXTENDED MEMORY SIZE IN 64K BLOCKS (high byte)
- ----------R36--------------------------------
- CMOS 36h - AMI 1990 Hyundai super-NB368S notebook - CPU/VIDEO CONFIGURATION
- Bitfields for Hyundai CPU/video control:
- Bit(s) Description (Table C0042)
- 7 =1 LCD, 0 CRT at boot time
- 6 =1 reversed, 0 normal video mode
- 5 =1 external, 0 internal keyboard
- 4-3 CPU speed
- 00 high
- 01 medium
- 10 low
- 2-1 harddisk vendor 1,2,3,4
- 0 relocation enabled
- ----------R36--------------------------------
- CMOS 36h - Quadtel HT12 BIOS 03.05.03 - EXTENDED MEMORY (low byte)
- ----------R37--------------------------------
- CMOS 37h - IBM PS/2 - DATE CENTURY BYTE
- ----------R37--------------------------------
- CMOS 37h - PHOENIX - Second user defined hard disk (type 48) # of heads
- NOTE: used only when PS/2 style password is NOT in effect.
- ----------R37--------------------------------
- CMOS 37h - AMI Hi-Flex BIOS - ???
- Bitfields for AMI Hi-Flex BIOS location 37h:
- Bit(s) Description (Table C0043)
- 7 ???
- ----------R37--------------------------------
- CMOS 37h - AMI WinBIOS - SETUP COLORS, PASSWORD SEED
- Bitfields for AMI WinBIOS setup colors and password seed:
- Bit(s) Description (Table C0044)
- 7-4 password seed
- 3-0 WinBIOS/AMIBIOS setup color options
- ----------R37--------------------------------
- CMOS 37h - Quadtel HT12 BIOS 03.05.03 - EXTENDED MEMORY (high byte)
- --------y-R373A------------------------------
- CMOS 37h-3Ah - AMI 1990 Hyundai super-NB368S notebook - PASSWORD
- Desc: encoded password, max 4 bytes.
- ----------R38--------------------------------
- CMOS 38h - PHOENIX - Second user defined hard disk (type 48) Write Precomp. LSB
- Note: used only when PS/2 style password is NOT in effect.
- --------y-R383D------------------------------
- CMOS 38h-3Dh - AMI - Encrypted Password
- --------y-R383F------------------------------
- CMOS 38h-3Fh - ??? IBM PS/2 - Encrypted Password
- Note: Initialized to 00h in all bytes. Will accept from 1-7 scan codes.
- ----------R39--------------------------------
- CMOS 39h - PHOENIX - Second user defined hard disk (type 48) Write Precomp. MSB
- Note: used only when PS/2 style password is NOT in effect.
- ----------R3A--------------------------------
- CMOS 3Ah - PHOENIX - Second user defined hard disk (type 48) Parking Zone LSB
- Note: used only when PS/2 style password is NOT in effect.
- ----------R3B--------------------------------
- CMOS 3Bh - PHOENIX - Second user defined hard disk (type 48) Parking Zone MSB
- Note: used only when PS/2 style password is NOT in effect.
- ----------R3B--------------------------------
- CMOS 3Bh - AWARD - CONFIGURATION BITS
- Bitfields for AWARD configuration bits:
- Bit(s) Description (Table C0045)
- 4-7 Screen Colors Used in Setup (see #C0046)
- 3 ??? Default = 0
- 2 ??? Default = 0
- 1 ??? Default = 1
- 0 Enable External Cache
- (Table C0046)
- Values for AWARD setup colors:
- 0000 Yellow/White on Blue (Default)
- 0001 Magenta/White on Blue
- 0010 Yellow/Black on Green
- 0011 Yellow/Green on Cyan
- 0100 Black/Yellow on Cyan
- 0101 Brown/White on Cyan
- 0110 White/Green on Red
- 0111 White/White on Red
- 1000 Green/White on Magenta
- 1001 Yellow/Red on Magenta
- 1010 Red/White on Grey
- 1011 Yellow/White on Grey
- 1100 Cyan/White on Grey
- 1101 Cyan/Yellow on Black
- 1110 White on Black (Monochrome)
- 1111 Green/Red on Black
- SeeAlso: #C0045
- ----------R3C--------------------------------
- CMOS 3Ch - PHOENIX - Second user defined hard disk (type 48) Sectors per track
- Note: used only when PS/2 style password is NOT in effect.
- ----------R3C--------------------------------
- CMOS 3Ch - AWARD - Boot Configuration Bits
- Bitfields for AWARD boot configuration bits:
- Bit(s) Description (Table C0047)
- 7 disable virus warning on boot
- 6,5 ???
- 4 Quick POST Enabled
- 3,2 ???
- 1 Enable Turbo Switch Input
- 0 0 = Boot from A, then C
- 1 = Boot from C, then A
- ----------R3C--------------------------------
- CMOS 3Ch - Quadtel HT12 BIOS 03.05.03 - TOTAL MEMORY (low byte)
- SeeAlso: CMOS 3Dh"Quadtel"
- ----------R3D--------------------------------
- CMOS 3Dh - AWARD - ???
- ----------R3D--------------------------------
- CMOS 3Dh - Phoenix - ???
- Note: bit 3 = base memsize 512K/640K
- ----------R3D--------------------------------
- CMOS 3Dh - Quadtel HT12 BIOS 03.05.03 - TOTAL MEMORY (high byte)
- SeeAlso: CMOS 3Ch"Quadtel"
- ----------R3E--------------------------------
- CMOS 3Eh - AMI - Extended CMOS Checksum, High Byte
- Note: this checksum covers locations 34h - 3Dh, but is not used by some
- later AMI BIOSes
- ----------R3E--------------------------------
- CMOS 3Eh - AWARD - BOOT CONFIGURATION BITS
- Bitfields for AWARD boot configuration bits:
- Bit(s) Description (Table C0048)
- 7 Shadow Video BIOS at C000h
- 6,5 ???
- 4 Swap Floppy Drive
- 3 ???
- 2 Don't Halt on Diskette Errors at Boot
- 1 Don't Halt on Keyboard Errors at Boot
- 0 Never Halt for any error at Boot
- ----------R3E--------------------------------
- CMOS 3Eh - Quadtel HT12 BIOS 03.05.03 - ???
- Bitfields for Quadtel ???:
- Bit(s) Description (Table C0049)
- 2 system error occurred ?? (timer/RTC)
- 0 =0 extended system configuration loaded
- =1 checksum error
- ----------R3E--------------------------------
- CMOS 3Eh - Phoenix - SHADOWING CONTROL
- Bitfields for Phoenix shadowing control:
- Bit(s) Description (Table C0050)
- 7 relocate enable
- 1 shadow video enable
- 0 shadow BIOS enable
- ----------R3F--------------------------------
- CMOS 3Fh - AMI - Extended CMOS Checksum, Low Byte
- Note: this checksum covers locations 34h - 3Dh, but is not used by some
- later AMI BIOSes
- ----------R3F--------------------------------
- CMOS 3Fh - AWARD - ???
- ---------------------------------------------
- End of original 64 CMOS RAM bytes. Many modern chips now contain 128
- bytes and the IBM PS/2 has provision for 2k of "Expansion CMOS".
- The AMI HI-FLEX description is below. If the chip does have only
- 64 bytes, addresses will wrap so that requests for bytes 40h-7Fh will
- return the same values as 00h-3Fh.
- --------p-R40--------------------------------
- CMOS 40h - AMI 1990 Hyundai super-NB368S notebook - POWER-SAVE CONFIGURATION
- Bitfields for Hyundai power-save configuration:
- Bit(s) Description (Table C0051)
- 7 power save enabled
- 6-0 HD power save wait, units of 1 minute (0-20)
- ----------R40--------------------------------
- CMOS 40h - AWARD - Motherboard Chipset (SiS 85C501/85C502 shown)
- Bitfields for AWARD motherboard chipset:
- Bit(s) Description (Table C0052)
- 7-1 ???
- 0 Automatic Configuration Enabled (Default: 1=enabled)
- ----------R4055------------------------------
- CMOS 40h-55h - AMI WinBIOS - PCI BIOS setup data
- ----------R41--------------------------------
- CMOS 41h - AMI - WAIT STATE CONFIGURATION
- Bitfields for AMI wait state configuration:
- Bit(s) Description (Table C0053)
- 7-6 IOR/IOW Wait states
- 5-4 16-bit DMA Wait States
- 3-2 8-bit DMA Wait States
- 1 EMR bit
- 0 DMA Clock Source
- ----------R4243------------------------------
- CMOS 42h-43h - ???
- ----------R4244------------------------------
- CMOS 42h-44h - AWARD - ??? chipset setup ???
- ----------R44--------------------------------
- CMOS 44h - AMI - NMI CONTROL
- Bitfields for AMI NMI control:
- Bit(s) Description (Table C0054)
- 4 NMI Power Fail Warning
- 3 NMI Local Bus Timeout
- ----------R45--------------------------------
- CMOS 45h - AMI - BUS DELAYS
- Bitfields for AMI bus delays:
- Bit(s) Description (Table C0055)
- 7-6 AT Bus 32-Bit Delay
- 5-4 AT Bus 16-Bit Delay
- 3-2 AT Bus 8-Bit Delay
- 1-0 AT Bus I/O Delay
- SeeAlso: #C0058
- ----------R45--------------------------------
- CMOS 45h - AMI (Saturn) - CACHE TAGS
- SeeAlso: CMOS 46h"Saturn"
- Bitfields for AMI (Saturn) cache tags:
- Bit(s) Description (Table C0056)
- 7 base memory 640K instead of 512K
- 4-3 external cache tag width
- 00 8 bits
- 01 9 bits
- 10 7 bits
- 11 7 bits
- ----------R45--------------------------------
- CMOS 45h - AWARD - Motherboard Chipset (SiS 85C501/85C502 shown)
- Bitfields for AWARD motherboard chipset:
- Bit(s) Description (Table C0057)
- 7 System BIOS Cacheable (Default: 1=enabled)
- 6 Video BIOS Cacheable (Default: 1=enabled)
- 5-0 ???
- ----------R46--------------------------------
- CMOS 46h - AMI - BUS WAIT STATES
- Bitfields for AMI bus wait states:
- Bit(s) Description (Table C0058)
- 7-6 AT Bus 32 Bit Wait States
- 5-4 AT Bus 16 Bit Wait States
- 3-2 AT Bus 8 Bit Wait States
- 1-0 AT Bus Clock Source
- SeeAlso: #C0055
- ----------R46--------------------------------
- CMOS 46h - AMI (Saturn) - SHADOW RAM CONTROL 1
- Bitfields for AMI (Saturn) shadow RAM control 1:
- Bit(s) Description (Table C0059)
- 7-6 D000h-D3FFh shadow RAM
- 00 don't shadow
- 01 absent
- 10 shadow
- 11 reserved
- 5-4 CC00h-CFFFh shadow RAM (as for D000h-D3FFh)
- 3-2 C800h-CBFFh shadow RAM (as for D000h-D3FFh)
- 1-0 C000h-C7FFh shadow RAM (as for D000h-D3FFh)
- SeeAlso: #C0060
- ----------R4647------------------------------
- CMOS 46h-47h - AWARD - ??? chipset setup ???
- ----------R47--------------------------------
- CMOS 47h - AMI (Saturn) - SHADOW RAM CONTROL 2
- Bitfields for AMI (Saturn) shadow RAM control 2:
- Bit(s) Description (Table C0060)
- 7-6 DC00h-DFFFh shadow RAM
- 00 don't shadow
- 01 absent
- 10 shadow
- 11 reserved
- 5-4 D800h-DBFFh shadow RAM (as for DC00h-DFFFh)
- 3-2 D400h-D7FFh shadow RAM (as for DC00h-DFFFh)
- 0 PCI VGA palette snooping
- SeeAlso: #C0059
- ----------R4750------------------------------
- CMOS 47h-50h - ???
- ----------R484F------------------------------
- CMOS 48h-4Fh - AWARD - ??? unused ??? Defaults to all FFh's.
- --------y-R484F------------------------------
- CMOS 48h-4Fh - PhoenixBIOS A486 v1.01.E - USER PASSWORD
- Desc: stores scan-codes for the password in the first seven bytes, and the
- low byte of the password checksum in the eighth byte
- SeeAlso: CMOS 50h"A486 v1.01.E"
- ----------R48--------------------------------
- CMOS 48h - AMI (Saturn) - EXTERNAL CACHE
- Bitfields for AMI (Saturn) external cache:
- Bit(s) Description (Table C0061)
- 5 external cache write-back instead of write-through
- ----------R49--------------------------------
- CMOS 49h - AMI (Saturn) - PERFORMANCE
- Bitfields for AMI (Saturn) performance:
- Bit(s) Description (Table C0062)
- 1 DRAM enhanced performance mode
- 0 ISA/DMA enhanced performance mode
- SeeAlso: #C0063
- ----------R4A--------------------------------
- CMOS 4Ah - AMI (Saturn) - BUS CONFIGURATION
- Bitfields for AMI (Saturn) bus configuration:
- Bit(s) Description (Table C0063)
- 7 ISA enhanced performance mode
- 6 ISA bus master installed
- 5-4 PCI slot IRQ
- 00 IRQ5
- 01 IRQ9
- 10 IRQ15
- 11 IRQ15
- 3 PCI on-board SCSI controller enabled
- 1-0 ISA frame buffer
- 00 disabled
- 01 1MB at 15MB
- 10 2MB at 14MB
- 11 4MB at 12MB
- SeeAlso: #C0062
- ----------R4B--------------------------------
- CMOS 4Bh - AMI (Saturn) - ON-BOARD PERIPHERALS
- Bitfields for AMI (Saturn) on-board peripherals:
- Bit(s) Description (Table C0064)
- 4 onboard FDC enabled
- 0 onboard IDE enabled
- ----------R4C--------------------------------
- CMOS 4Ch - AMI (Saturn) - PARALLEL PORT
- Bitfields for AMI (Saturn) parallel port:
- Bit(s) Description (Table C0065)
- 4 IRQ active high
- 3 parallel port extended mode
- 1-0 parallel port address
- ----------R4C--------------------------------
- CMOS 4Ch - AMI (PicoPower) - CLOCK SPEEDS
- Bitfields for AMI (PicoPower) clock speeds:
- Bit(s) Description (Table C0066)
- 7-6 back-to-back I/O delay
- 00 none
- 01 1 SYSCLK
- 10 2 SYSCLKs
- 11 3 SYSCLKs
- 5-3 Turbo clock select
- 001 CLK2IN/3
- 010 CLK2IN/4
- 011 CLK2IN/5
- 100 CLK2IN/6
- 101 CLK2IN/7
- 110 CLK2IN/8
- 111 CLK2IN/9
- 2-0 SYSCLK select (same as for Turbo clock select)
- ----------R4D--------------------------------
- CMOS 4Dh - AMI (Saturn) - RESERVED
- ----------R4D--------------------------------
- CMOS 4Dh - AMI (PicoPower) - MIDDLE BIOS
- Note: Middle BIOS is enabled if bit 1 set
- --------y-R4D--------------------------------
- CMOS 4Dh - AWARD - USER PASSWORD
- SeeAlso: CMOS 4Eh"AWARD",CMOS 1Ch"AWARD"
- ----------R4E--------------------------------
- CMOS 4Eh - AMI (Saturn) - SERIAL PORT
- Bitfields for AMI (Saturn) serial port:
- Bit(s) Description (Table C0067)
- 7-5 serial port 1
- 4-2 serial port 2
- 0 manual programming mode
- ----------R4E--------------------------------
- CMOS 4Eh - AMI (PicoPower) - TURBO BUS VIDEO
- Bitfields for AMI (PicoPower) Turbo Bus video:
- Bit(s) Description (Table C0068)
- 2 memory enabled
- 1 I/O enabled
- --------y-R4E--------------------------------
- CMOS 4Eh - AWARD - USER PASSWORD
- SeeAlso: CMOS 4Dh"AWARD",CMOS 1Ch"AWARD"
- ----------R50--------------------------------
- CMOS 50h - AWARD - PCI Bus Slot 1 Latency Timer 0-255 (default: 0)
- --------y-R5057------------------------------
- CMOS 50h-57h - PhoenixBIOS A486 v1.01.E - ADMIN PASSWORD
- Desc: stores scan-codes for the password in the first seven bytes, and the
- low byte of the password checksum in the eighth byte
- SeeAlso: CMOS 48h"A486 v1.01.E"
- ----------R51--------------------------------
- CMOS 51h - AMI - MEMORY ACCESS CONTROL
- Bitfields for AMI memory access control:
- Bit(s) Description (Table C0069)
- 7 Bank 0/1 RAS Precharge
- 6 Bank 0/1 Access Wait States
- 3-2 Bank 0/1 Wait States
- ----------R51--------------------------------
- CMOS 51h - AWARD - PCI Bus Setup
- Bitfields for AWARD PCI bus setup:
- Bit(s) Description (Table C0070)
- 7 PIRQ0# Interrupt Triggering
- 0 = Edge Sensitive,
- 1 = Level Sensitive
- 6-2 ??? Default: all 1's
- 0-1 Slot 1 IRQ Setup
- 00 = A-PIRQ0 (Default)
- 01 = B-PIRQ1
- 10 = C-PIRQ2
- 11 = D-PIRQ3
- ----------R52--------------------------------
- CMOS 52h - ???
- ----------R52--------------------------------
- CMOS 52h - AWARD - PCI Bus Slot 2 Latency Timer 0-255 (default: 0)
- ----------R53--------------------------------
- CMOS 53h - AMI - MEMORY ACCESS CONTROL
- Bitfields for AMI memory access control:
- Bit(s) Description (Table C0071)
- 7 Bank 2/3 RAS Precharge
- 6 Bank 2/3 Access Wait States
- 3-2 Bank 2/3 Wait States
- ----------R53--------------------------------
- CMOS 53h - AWARD - PCI Bus Setup
- Bitfields for AWARD PCI bus setup:
- Bit(s) Description (Table C0072)
- 7 PIRQ1# Interrupt Triggering
- 0 = Edge Sensitive,
- 1 = Level Sensitive
- 6-2 ??? Default: all 1's
- 0-1 Slot 2 IRQ Setup
- 00 = A-PIRQ1 (Default)
- 01 = B-PIRQ2
- 10 = C-PIRQ3
- 11 = D-PIRQ0
- --------p-R53--------------------------------
- CMOS 53h - AWARD v4.51PG APM - APM FUNCTION CONFIGURATION FOR ATX POWER SUPPLY
- SeeAlso: CMOS 54h"v4.51PG"
- Bitfields for AWARD v4.51PG ATX Power Supply Configuration #1:
- Bit(s) Description (Table C0073)
- 7 power button override enabled
- 6-2 ???
- 1 VGA is active monitor
- 0 ???
- SeeAlso: #C0074
- ----------R547F------------------------------
- CMOS 54h-7Fh - ???
- ----------R54--------------------------------
- CMOS 54h - AWARD - PCI Bus Slot 3 Latency Timer 0-255 (default: 0)
- --------p-R54--------------------------------
- CMOS 54h - AWARD v4.51PG APM - APM FUNCTION CONFIGURATION FOR ATX POWER SUPPLY
- SeeAlso: CMOS 53h"v4.51PG"
- Bitfields for AWARD v4.51PG ATX Power Supply Configuration #2:
- Bit(s) Description (Table C0074)
- 7-2 ???
- 1 enable Resume on Ring
- 0 enable Resume on Alarm
- SeeAlso: #C0073
- ----------R55--------------------------------
- CMOS 55h - AWARD - PCI Bus Setup
- Bitfields for AWARD PCI bus setup:
- Bit(s) Description (Table C0075)
- 7 PIRQ2# Interrupt Triggering
- 0 = Edge Sensitive,
- 1 = Level Sensitive
- 6-2 ??? Default: all 1's
- 0-1 Slot 3 IRQ Setup
- 00 = A-PIRQ2 (Default)
- 01 = B-PIRQ3
- 10 = C-PIRQ0
- 11 = D-PIRQ1
- --------p-R55--------------------------------
- CMOS 55h - AWARD v4.51PG - APM - POWER-ON DAY OF MONTH (Resume by Alarm)
- Note: value is binary, rather than BCD as for most calendar functions
- SeeAlso: CMOS 56h"v4.51PG",CMOS 57h"v4.51PG"
- ----------R56--------------------------------
- CMOS 56h - AWARD - ??? reserved for PCI Bus Slot 4 Latency Timer ???
- --------p-R56--------------------------------
- CMOS 56h - AWARD v4.51PG - APM - POWER-ON HOUR (Resume by Alarm)
- Note: value is binary, rather than BCD as for most calendar functions
- SeeAlso: CMOS 55h"v4.51PG",CMOS 57h"v4.51PG"
- ----------R57--------------------------------
- CMOS 57h - AWARD - PCI Bus Setup
- Bitfields for AWARD PCI bus setup:
- Bit(s) Description (Table C0076)
- 7 PIRQ3# Interrupt Triggering
- 0 = Edge Sensitive,
- 1 = Level Sensitive
- 6-0 ???not used Default: all 1's
- --------p-R57--------------------------------
- CMOS 57h - AWARD v4.51PG - APM - POWER-ON MINUTE (Resume by Alarm)
- Note: value is binary, rather than BCD as for most calendar functions
- SeeAlso: CMOS 56h"v4.51PG",CMOS 58h"v4.51PG"
- ----------R58--------------------------------
- CMOS 58h - AWARD - ??? reserved for PCI Bus Slot 5 Latency Timer ???
- Bitfields for AWARD PCI bus slot 5 latency timer:
- Bit(s) Description (Table C0077)
- 3 onboard CMD IDE Mode 3
- --------p-R58--------------------------------
- CMOS 58h - AWARD v4.51PG - APM - POWER-ON SECOND (Resume by Alarm)
- Note: value is binary, rather than BCD as for most calendar functions
- SeeAlso: CMOS 55h"v4.51PG",CMOS 57h"v4.51PG"
- ----------R59--------------------------------
- CMOS 59h - AWARD - ??? reserved for PCI Bus Setup ???
- ----------R5A--------------------------------
- CMOS 5Ah - AWARD - PCI Bus IRQ Setup 1
- Bitfields for AWARD PCI bus IRQ setup 1:
- Bit(s) Description (Table C0078)
- 4-7 PIRQ1# Interrupt Line (0=none, Bh=IRQ11, etc)
- 0-3 PIRQ0# Interrupt Line " " "
- ----------R5B--------------------------------
- CMOS 5Bh - AWARD - PCI Bus IRQ Setup 2
- Bitfields for AWARD PCI bus IRQ setup 2:
- Bit(s) Description (Table C0079)
- 4-7 PIRQ3# Interrupt Line (0=none, Bh=IRQ11, etc)
- 0-3 PIRQ2# Interrupt Line " " "
- ----------R5C--------------------------------
- CMOS 5Ch - AMI (PicoPower) - LOW-SPEED CLOCK
- Bitfields for AMI (PicoPower) low-speed clock select:
- Bit(s) Description (Table C0080)
- 2-0 low-speed clock divisor
- 000 /1
- 001 /2
- 010 /4
- ----------R5C5F------------------------------
- CMOS 5Ch-5Fh - AWARD - ??? unused ???
- Note: Defaults to all FFh's.
- --------p-R5D--------------------------------
- CMOS 5Dh - AMI (PicoPower) - DOZE MODE
- Bitfields for AMI (PicoPower) doze mode control:
- Bit(s) Description (Table C0081)
- 7 APM enabled
- 6-4 doze mode CPU clock speed (see #C0082)
- 3 hotkey setup enabled
- 2-0 "sleep mode" CPU CLK speed (see #C0082)
- SeeAlso: #C0084
- (Table C0082)
- Values for AMI (PicoPower) CPU clock speeds:
- 000 MAX
- 001 MAX/2
- 010 MAX/4
- 011 MAX/8
- 100 MAX/16
- 101 MAX/32
- 110 MAX/64
- SeeAlso: #C0081,#C0084
- ----------R5E--------------------------------
- CMOS 5Eh - AMI 1990 Hyundai super-NB368S notebook - ???
- 00h when values from bios defaults
- 34h when values from power up defaults
- ----------R5E--------------------------------
- CMOS 5Eh - AWARD v4.50G - ?
- SeeAlso: CMOS 5Fh"AWARD"
- Bitfields for AWARD register 5Eh:
- Bit(s) Description (Table C0083)
- 0 user password enabled
- SeeAlso: #C0012
- --------p-R5E--------------------------------
- CMOS 5Eh - AMI (PicoPower) - CPU SPEEDS
- Bitfields for AMI (PicoPower) CPU speeds:
- Bit(s) Description (Table C0084)
- 7 suspend warning beeps enabled
- 6-4 "full on" CPU CLK speed
- 000 MAX
- 001 MAX/2
- 010 MAX/4
- 011 MAX/8
- 1-0 power management mode
- 00 disabled
- 01 Auto
- 10 enabled
- SeeAlso: #C0081
- --------p-R5F--------------------------------
- CMOS 5Fh - AMI (PicoPower) - POWER MANAGEMENT TIMEOUTS
- Bitfields for AMI (PicoPower) power management timeouts:
- Bit(s) Description (Table C0085)
- 7 enable battery-low beeps
- 5-3 SUSPEND timeout
- 000 disabled
- 001 5 minutes
- 010 10 minutes
- 011 15 minutes
- 100 20 minutes
- 101 30 minutes
- 110 40 minutes
- 111 60 minutes
- 2-0 DOZE timeout
- 000 disabled
- 100 1 second
- 101 4 seconds
- 110 8 seconds
- 111 16 seconds
- SeeAlso: #C0087
- --------y-R5F--------------------------------
- CMOS 5Fh - AWARD v4.50G - USER PASSWORD CHECKSUM
- SeeAlso: CMOS 5Eh"AWARD"
- --------p-R60--------------------------------
- CMOS 60h - AWARD - POWER MANAGEMENT
- Bitfields for AWARD power management:
- Bit(s) Description (Table C0086)
- 7 ???
- 6 Video Off Method
- 1 = V/H SYNC + Blank (default)
- 0 = Blank Screen
- 4,5 Video Off Option
- 00 = Always On (default)
- 01 = Suspend -> Off
- 10 = Suspend, Standby -> Off
- 11 = All Modes -> Off
- 3 PM Control by APM (1=Yes)
- 2 ???
- 1,0 Power Management Setup
- 00 User Defined
- 01 Disabled (default)
- 10 Minimum Power Savings (40 Minutes for all events)
- 11 Maximum Power Savings (20 Seconds for all events)
- --------p-R60--------------------------------
- CMOS 60h - AMI (PicoPower) - SLEEP TIMEOUT
- Bitfields for AMI (PicoPower) sleep timeout:
- Bit(s) Description (Table C0087)
- 5-3 SLEEP timeout
- 000 disabled
- 001 1 minute
- 010 2 minutes
- 011 3 minutes
- 100 4 minutes
- 101 6 minutes
- 110 8 minutes
- 111 12 minutes
- SeeAlso: #C0085,#C0089
- ----------R6077------------------------------
- CMOS 60h-77h - AMI WinBIOS - PCI chipset-specific setup information
- --------p-R61--------------------------------
- CMOS 61h - AWARD - POWER MANAGEMENT
- Bitfields for AWARD power management:
- Bit(s) Description (Table C0088)
- 7 PM Event on HDD Ports Activity (1=enable)
- 6 PM Event on LPT Port Activity (1=enable)
- 5 PM Event on COM Port Activity (1=enable)
- 4 HDD Power Down on Suspend
- 0-3 HDD Power Down Time
- 0 Disabled
- 1-15 Time in Minutes
- ----------R62--------------------------------
- CMOS 62h - AMI 1990 Hyundai super-NB368S notebook - ???
- FFh when values from bios defaults
- FEh when values from power up defaults
- ----------R62--------------------------------
- CMOS 62h - AMI (Neptune) - number of last PCI bus in system
- SeeAlso: INT 1A/AX=B101h
- --------p-R62--------------------------------
- CMOS 62h - AMI (PicoPower) - HARD-DISK POWERDOWN
- Bitfields for AMI (PicoPower) hard-disk powerdown timeout:
- Bit(s) Description (Table C0089)
- 3-0 hard-disk timeout in minutes (0000 = disabled)
- SeeAlso: #C0087
- --------p-R62--------------------------------
- CMOS 62h - AWARD - POWER MANAGEMENT
- Bitfields for AWARD power management:
- Bit(s) Description (Table C0090)
- 7-4 Standby Mode Setting (for User Defined)
- 0 Disabled
- 1 20 Seconds
- 2 1 Minute
- 3 5 Minutes
- 4 10 Minutes
- 5 15 Minutes
- 6 20 Minutes
- 7 30 Minutes
- 8 40 Minutes
- 0-3 Doze Mode Setting (for User Defined)
- (See Standby Mode above)
- ----------R62--------------------------------
- CMOS 62h - AWARD v4.51pg - BIT FLAGS
- Bitfields for AWARD v4.51pg CMOS 62h:
- Bit(s) Description (Table C0091)
- 0 user password is enabled
- --------p-R63--------------------------------
- CMOS 63h - AWARD - POWER MANAGEMENT
- Bitfields for AWARD power management:
- Bit(s) Description (Table C0092)
- 7 Disable PM Event on IRQ3 Activity (COM2) (1=disable)
- 6 PM Event on VGA Activity (1=enable)
- 5 ??? (Defaults to 1)
- 4 PM Event on PCI/ISA Master Activity (1=enable)
- 0-3 Suspend Mode Setting (for User Defined)
- (See Standby Mode above)
- --------p-R63--------------------------------
- CMOS 63h - AMI (PicoPower) - BATTERY-LOW ACTIONS
- Bitfields for AMI (PicoPower) battery-low actions:
- Bit(s) Description (Table C0093)
- 5-3 battery-very-low action
- 000 MAX
- 001 MAX/2
- 010 MAX/4
- 011 MAX/8
- 100 MAX/16
- 101 MAX/32
- 110 MAX/64
- 111 suspend
- 2-0 battery-low action (same as battery-very-low action)
- ----------R64--------------------------------
- CMOS 64h - AMI 1990 Hyundai super-NB368S notebook - ???
- --------p-R64--------------------------------
- CMOS 64h - AMI (PicoPower) - BATTERY POWER
- Bitfields for AMI (PicoPower) battery power:
- Bit(s) Description (Table C0094)
- 6 extended battery debounce enabled
- 4-3 resume with modem ring
- 00 disabled
- 01 one ring
- 10 two rings
- 11 three rings
- 2 365SL power on during suspend
- 1-0 suspend-mode DRAM refresh cycle
- 00 15 usec
- 01 120 usec (1/8 normal)
- 10 self
- --------p-R64--------------------------------
- CMOS 64h - AWARD - POWER MANAGEMENT - IRQ activity events #1
- SeeAlso: CMOS 65h"AWARD"
- Bitfields for AWARD power management IRQ activity events:
- Bit(s) Description (Table C0095)
- 7 Disable PM Event on IRQ11 Activity (1=disable)
- 6 Disable PM Event on IRQ10 Activity (1=disable)
- 5 Disable PM Event on IRQ9 Activity (IRQ2 Redir) (1=disable)
- 4 Disable PM Event on IRQ8 Activity (RTC Alarm) (1=disable)
- 3 Disable PM Event on IRQ7 Activity (LPT1) (1=disable)
- 2 Disable PM Event on IRQ6 Activity (Floppy) (1=disable)
- 1 Disable PM Event on IRQ5 Activity (LPT2) (1=disable)
- 0 Disable PM Event on IRQ4 Activity (COM1) (1=disable)
- --------p-R65--------------------------------
- CMOS 65h - AWARD - POWER MANAGEMENT - IRQ activity events #2
- SeeAlso: CMOS 64h"AWARD"
- Bitfields for AWARD power management:
- Bit(s) Description (Table C0096)
- 7-4 ??? may be unused. Defaults to all 1's
- 3 Disable PM Event on IRQ15 Activity (1=disable)
- 2 Disable PM Event on IRQ14 Activity (Hard Disk) (1=disable)
- 1 Disable PM Event on IRQ13 Activity (Coprocessor) (1=disable)
- 0 Disable PM Event on IRQ12 Activity (PS/2 Mouse) (1=disable)
- ----------R65--------------------------------
- CMOS 65h - AMI (PicoPower) - PC PIN STAGGER
- Bitfields for AMI (PicoPower) PC pin stagger:
- Bit(s) Description (Table C0097)
- 7-6 PC pin stagger period
- 00 immediate
- 01 4 msec
- 10 16 msec
- 11 64 msec
- --------p-R66--------------------------------
- CMOS 66h - AMI 1990 Hyundai super-NB368S notebook - DOZE MODE TIMEOUT
- Note: doze mode timeout 00-0F, from table (0,12 -14 sec)
- ----------R6679------------------------------
- CMOS 66h-79h - AWARD - ??? unused ???
- Note: Defaults to all FFh's.
- ----------R67--------------------------------
- CMOS 67h - AMI 1990 Hyundai super-NB368S notebook - SLEEP MODE TIMEOUT
- Desc: sleep mode timeout 00-0F, units of 1 second
- ----------R68--------------------------------
- CMOS 68h - AMI 1990 Hyundai super-NB368S notebook - SUSPEND MODE TIMEOUT
- Desc: suspend mode timeout 01-0F, units of 5 minutes
- ----------R686F------------------------------
- CMOS 68h-6Fh - AWARD - IDE hard disk params for first drive on second IDE port
- ----------R69--------------------------------
- CMOS 69h - AMI 1990 Hyundai super-NB368S notebook - LCD MODE TIMEOUT
- Desc: LCD mode timeout 01-0F, units of 1 minute
- ----------R6A--------------------------------
- CMOS 6Ah - AMI 1990 Hyundai super-NB368S notebook - ???
- ----------R7077------------------------------
- CMOS 70h-77h - AWARD - IDE hard disk params for second drive on second IDE port
- ----------R787D------------------------------
- CMOS 78h-7Dh - AMI WinBIOS - used by BIOS as scratch RAM
- ----------R7A--------------------------------
- CMOS 7Ah - AWARD - EXTENDED CMOS CHECKSUM (high byte)
- Note: Award's extended checksum is the arithmetic sum of all the bytes
- from 40h (64 decimal) through 79h (121 decimal). [42h-79h for v4.50G]
- SeeAlso: CMOS 7Bh"AWARD"
- ----------R7B--------------------------------
- CMOS 7Bh - AWARD - EXTENDED CMOS CHECKSUM (low byte)
- Note: Award's extended checksum is the arithmetic sum of all the bytes
- from 40h (64 decimal) through 79h (121 decimal). [42h-79h for v4.50G]
- SeeAlso: CMOS 7Ah"AWARD"
- ----------R7D--------------------------------
- CMOS 7Dh - AMD-645 Clock - DATE ALARM
- Desc: on an AMD-645, this byte specifies the day of the month on which
- the alarm will activate
- SeeAlso: CMOS 01h,CMOS 03h,CMOS 05h,CMOS 7Eh
- ----------R7E--------------------------------
- CMOS 7Eh - AMD-645 Clock - MONTH ALARM
- Desc: on an AMD-645, this byte specifies the month of the year on which
- the alarm will activate
- SeeAlso: CMOS 01h,CMOS 03h,CMOS 05h,CMOS 7Dh
- --------p-R7E7F------------------------------
- CMOS 7Eh-7Fh - AMI WinBIOS - used as scratch RAM by power management code
- ----------R7F--------------------------------
- CMOS 7Fh - AMD-645 Clock - CENTURY
- SeeAlso: CMOS 32h
- ---------------------------------------------
- From arhfond@online.ru Thu Sep 5 21:17:13 1996
- Date: Wed, 28 Aug 1996 22:35:17 +0400
- From: Agapov Vasiliy Pavlovich <arhfond@online.ru>
- To: ralf@telerama.lm.com
- Subject: Re: Ralf Brown's Interrupt List Release 42.
- The problem with CMOS checksum layout for the new motherboards (1995-1996)
- with AWARD, AMIBIOS (also AMIBIOS on Pentium motherboards produced beyond
- 1992) and several others is the following: they have added the second checksum
- for the CMOS area from 40h to 7Ch. Any changes in the area concerned, always
- result in "CMOS checksum failure. Defaults loaded...".
- The problem is that every model of BIOS has its own location of the second
- checksum and its own way of determining it. When you need to change some bytes
- in the area from 40h to 7Ch you ought to determine checksum location. Here's
- the Assembly code that finds out the location of the second CMOS checksum on
- ANY motherboard. I've tested it on more than 10 different motherboards with
- AMIBIOS and AWARD BIOS and it never failed.
- Before starting this code make sure to load the 128 bytes of CMOS
- data to the buffer at CMOS_DATA and assume DS as data area segment register.
- START: CALL WHAT_CMOS
- JC NO_SECOND_CHS
- ; Checksum location is in word at CHECKS_ADDRESS
- NO_SECOND_CHS:
- ; There's no second checksum in this CMOS
- END:
- ;******************************* SUBS **********************************
- WHAT_CMOS: MOV SI,OFFSET CMOS_DATA+40H
- MOV DI,OFFSET CMOS_DATA+7EH
- CALL FIND_CMOS_CHS
- JNC END_WCMOS
- MOV SI,OFFSET CMOS_DATA+41H
- MOV DI,OFFSET CMOS_DATA+7EH
- CALL FIND_CMOS_CHS
- END_WCMOS: RET
- FIND_CMOS_CHS: XOR DX,DX
- MOV AX,DX
- FIND_CMOS_C1: LODSB ; GET BYTE
- ADD DX,AX
- CMP SI,OFFSET CMOS_DATA+7CH ; ADDRESS OF CHECKSUM ?
- JB FIND_CMOS_C1
- XCHG DH,DL
- CMP DX,[SI] ; CHECKSUM FOUND ?
- JZ END_FCMOS
- XCHG DH,DL
- CMP SI,DI
- JB FIND_CMOS_C1
- STC
- RET
- END_FCMOS: MOV [CHECKS_ADDRESS],SI ; SAVE CHECKSUM POSITION
- CLC
- RET
- ******************************** DATA *******************************
- CHECKS_ADDRESS DW 0
- CMOS_DATA DB 128 DUP (?)
-
- Regards,
- Alexey Podrezov
- 28.08.1996
- --------!---Admin----------------------------
- Highest Table Number = C0097
- --------!---History--------------------------
- Revision History
- v1.26 Sep, 1995 reformatted (Ralf)
- v1.25 June 1995 Added AMI WinBIOS info from Daniel Miller (Ralf)
- v1.24 Jan, 1995 Added Award info from Tim Farley (Ralf)
- v1.23 June, 1994 Added some MCA info from _The_Undocumented_PC_
- v1.22 Feb, 1994 Added NMI mask note
- v1.21 Jan, 1994 Added note for PS/2 checksum found
- v1.20 Sept, 1993 PHOENIX data from Wim Osterholt added
- additional AMI data from Howie (hjh@gwd.dst.gov.au)
- v1.15 June, 1993 AMSTRAD data updated
- v1.1 June, 1993 AMSTRAD & PS/2 data added
- v1.0 June, 1993 First release: Motorola MC 146818, PC-AT & AMI
- "Hi-Flex" information baselined
- --------!---CONTACT_INFO---------------------
- Internet: ralf@pobox.com (currently forwards to ralf@telerama.lm.com)
- FIDO: Ralf Brown 1:129/26.1
|