CMOS.LST 74 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988
  1. CMOS-Memory Map Release 60 Last change 03jan99
  2. Compiled from multiple sources by Padgett Peterson
  3. Corrections/additions/comments to: padgett@tccslr.dnet.mmc.com
  4. No guarantees of any kind.
  5. Copyrights/Trademarks belong to whoever they may belong to.
  6. Found: Algorithm used by IBM in calculating CRC checksums for PS/2
  7. (see bytes 32h-33h). Complex (recursive part is 12 lines of
  8. assembly) and not yet validated for every model.
  9. --------!---Note-----------------------------
  10. Background
  11. The CMOS (complementary metal oxide semiconductor) memory is actually
  12. a 64 or 128 byte battery-backed RAM memory module that is a part of the
  13. system clock chip. Some IBM PS/2 models have the capability for a
  14. 2k (2048 byte) CMOS ROM Extension.
  15. First used with clock-calender cards for the IBM PC-XT, when the PC/AT
  16. (Advanced Technology) was introduced in 1985, the Motorola MC146818
  17. became a part of the motherboard. Since the clock only uses fourteen of
  18. the RAM bytes, the rest are available for storing system configuration data.
  19. Interestingly, the original IBM-PC/AT (Advanced Technology) standard for
  20. the region 10h-3Fh is nearly universal with one notable exception: The
  21. IBM PS/2 systems deviate considerably (Note: AMSTRAD 8086 machines were
  22. among the first to actively use the CMOS memory available and since they
  23. *predate* the AT, do not follow the AT standard).
  24. This is just another example of how IBM created a standard, lost control
  25. of it, tried to replace it, failed and lost market share in the process.
  26. Originally, the IBM PC/AT only made use of a small portion of CMOS memory
  27. and was defined in the IBM PC/AT Technical Reference Manual, specifically
  28. bytes 10h, 12h, 14h-18h, 2Eh-33h. The balance was left undefined but was
  29. quickly appropriated by various BIOS manufacturers for such user-selectable
  30. options such as wait states, clock speeds, initial boot drive selection, and
  31. password storage.
  32. Later, as CMOS memory requirements grew, newer clock chips with 128
  33. bytes of RAM came into use. However the fact remains that once the AT
  34. standard was established, only IBM has tried to change the definitions
  35. of that first description.
  36. Accessing the CMOS
  37. The CMOS memory exists outside of the normal address space and cannot
  38. contain directly executable code. It is reachable through IN and OUT
  39. commands at port number 70h (112d) and 71h (113d). To read a CMOS byte,
  40. an OUT to port 70h is executed with the address of the byte to be read and
  41. an IN from port 71h will then retrieve the requested information. The
  42. following BASIC fragment will read 128 CMOS bytes and print them to the
  43. screen in 8 rows of 16 values.
  44. The CMOS RAM space has an upper limit of 128 bytes because of the structure
  45. of port 70: only bits 0-6 are used for addressing, bit 7 is used to
  46. enable (0) or disable (1) Non-Maskable Interrupts (NMI) and explains why
  47. IBM uses 80h OR <address> to read/write data & follows with a "throw-away"
  48. call.
  49. Note that if the CMOS only has 64 bytes available, addressing will
  50. generally wrap and addresses from 40h-7Fh will mirror 00h-3Fh. Output will
  51. be hexadecimal.
  52. 10 CLS
  53. 20 FOR i = 0 TO &H7F
  54. 30 OUT &H70, i
  55. 40 PRINT USING "\ \"; HEX$(INP(&H71));
  56. 50 NEXT i
  57. 60 PRINT " "
  58. Note: where not otherwise noted, all data points are expressed as BYTES
  59. these are eight bit values and are read from MSB to LSB e.g.
  60. 0000 0000 0101 1010 binary would be written as 5Ah
  61. 7654 3210 where only some bits are used this is represented with
  62. Xs e.g bits 5-3 would be shown as 00xx x000
  63. Note: the entries for AMI WinBIOS also apply to AMIBIOS with core dates of
  64. 12/15/95 or later
  65. --------!---Note-----------------------------
  66. Organization of CMOS Memory - Clock
  67. 00h-0Eh is defined by the clock hardware and all must follow it. Other
  68. manufacturers generally follow the same format as specified for the
  69. region 10h - 2Fh. Some also follow the IBM format for 30h-33h but not all
  70. (Zenith in particular is different).
  71. The first fourteen bytes are dedicated to the MC146818 chip clock functions
  72. and consist of ten read/write data registers and four status registers, two
  73. of which are read/write and two of which are read only.
  74. The format of the ten clock data registers (bytes 00h-09h) is:
  75. ----------R00--------------------------------
  76. CMOS 00h - RTC - SECONDS
  77. Desc: (BCD 00-59, Hex 00-3B)
  78. Note: Bit 7 is read only
  79. SeeAlso: CMOS 01h,CMOS 02h,CMOS 04h
  80. ----------R01--------------------------------
  81. CMOS 01h - RTC - SECOND ALARM
  82. Desc: (BCD 00-59, Hex 00-3B; "don't care" if C0-FF)
  83. SeeAlso: CMOS 00h,CMOS 03h,CMOS 05h,CMOS 7Dh
  84. ----------R02--------------------------------
  85. CMOS 02h - RTC - MINUTES
  86. Desc: (BCD 00-59, Hex 00-3B)
  87. SeeAlso: CMOS 00h,CMOS 03h,CMOS 04h
  88. ----------R03--------------------------------
  89. CMOS 03h - RTC - MINUTE ALARM
  90. Desc: (BCD 00-59, Hex 00-3B; "don't care" if C0-FF))
  91. SeeAlso: CMOS 00h,CMOS 02h,CMOS 05h,CMOS 7Dh,CMOS 7Eh"AMD-645"
  92. ----------R04--------------------------------
  93. CMOS 04h - RTC - HOURS
  94. Desc: (BCD 00-23, Hex 00-17 if 24 hr mode)
  95. (BCD 01-12, Hex 01-0C if 12 hr am)
  96. (BCD 81-92. Hex 81-8C if 12 hr pm)
  97. SeeAlso: CMOS 00h,CMOS 02h,CMOS 05h
  98. ----------R05--------------------------------
  99. CMOS 05h - RTC - HOUR ALARM
  100. Desc: (same as hours; "don't care" if C0-FF))
  101. SeeAlso: CMOS 01h,CMOS 03h,CMOS 04h
  102. ----------R06--------------------------------
  103. CMOS 06h - RTC - DAY OF WEEK
  104. Desc: (01-07 Sunday=1)
  105. SeeAlso: CMOS 07h,CMOS 08h,CMOS 09h
  106. ----------R07--------------------------------
  107. CMOS 07h - RTC - DATE OF MONTH
  108. Desc: (BCD 01-31, Hex 01-1F)
  109. SeeAlso: CMOS 06h,CMOS 08h,CMOS 09h
  110. ----------R08--------------------------------
  111. CMOS 08h - RTC - MONTH
  112. Desc: (BCD 01-12, Hex 01-0C)
  113. SeeAlso: CMOS 06h,CMOS 07h,CMOS 09h
  114. ----------R09--------------------------------
  115. CMOS 09h - RTC - YEAR
  116. Desc: (BCD 00-99, Hex 00-63)
  117. Notes: BCD/Hex selection depends on Bit 2 of register B (0Bh)
  118. 12/24 Hr selection depends on Bit 1 of register B (0Bh)
  119. Alarm will trigger when contents of all three Alarm byte registers
  120. match their companions.
  121. SeeAlso: CMOS 06h,CMOS 07h,CMOS 08h
  122. The following is the on-chip status register information.
  123. ----------R0A--------------------------------
  124. CMOS 0Ah - RTC - STATUS REGISTER A (read/write) (usu 26h)
  125. Bitfields for Real-Time Clock status register A:
  126. Bit(s) Description (Table C0001)
  127. 7 =1 time update cycle in progress, data ouputs undefined
  128. (bit 7 is read only)
  129. 6-4 22 stage divider
  130. 010 = 32768 Hz time base (default)
  131. 3-0 rate selection bits for interrupt
  132. 0000 none
  133. 0011 122 microseconds (minimum)
  134. 1111 500 milliseconds
  135. 0110 976.562 microseconds (default 1024 Hz)
  136. SeeAlso: #C0002,#C0003,#C0004
  137. ----------R0B--------------------------------
  138. CMOS 0Bh - RTC - STATUS REGISTER B (read/write)
  139. Bitfields for Real-Time Clock status register B:
  140. Bit(s) Description (Table C0002)
  141. 7 enable clock setting by freezing updates
  142. 6 enable periodic interrupt
  143. 5 enable alarm interrupt
  144. 4 enable update-ended interrupt
  145. 3 enable square wave output
  146. 2 Data Mode - 0: BCD, 1: Binary
  147. 1 24/12 hour selection - 1 enables 24 hour mode
  148. 0 Daylight Savings Enable
  149. =1 enables automatic switching to/from DST in April and October
  150. SeeAlso: #C0001,#C0003,#C0004
  151. ----------R0C--------------------------------
  152. CMOS 0Ch - RTC - STATUS REGISTER C (Read only)
  153. Bitfields for Real-Time Clock status register C:
  154. Bit(s) Description (Table C0003)
  155. 7 Interrupt request flag
  156. =1 when any or all of bits 6-4 are 1 and appropriate enables
  157. (Register B) are set to 1. Generates IRQ 8 when triggered.
  158. 6 Periodic Interrupt flag
  159. 5 Alarm Interrupt flag
  160. 4 Update-Ended Interrupt Flag
  161. 3-0 unused
  162. SeeAlso: #C0001,#C0002,#C0004
  163. ----------R0D--------------------------------
  164. CMOS 0Dh - RTC - STATUS REGISTER D (read only)
  165. Bitfields for Real-Time Clock status register D:
  166. Bit(s) Description (Table C0004)
  167. 7 Valid RAM - 1 indicates batery power good, 0 if dead or disconnected.
  168. 6-0 unused (0)
  169. --------!---Note-----------------------------
  170. Organization of CMOS Memory - non-Clock
  171. The last two bytes in the first hexadecimal decade (hexade ?) were not
  172. specified in the PC/AT but may have the following use on some systems:
  173. ----------R0E--------------------------------
  174. CMOS 0Eh - IBM PS/2 - DIAGNOSTIC STATUS BYTE
  175. Bitfields for IBM PS/2 diagnostic status byte:
  176. Bit(s) Description (Table C0005)
  177. 7 indicates clock has lost power
  178. 6 incorrect checksum>
  179. 5 equipment configuration is incorrect
  180. (power-on check requires that atleast one floppy be installed)
  181. 4 error in memory size
  182. 3 controller or disk drive failed initialization
  183. 2 time is invalid
  184. 1 installed adaptors do not match configuration
  185. 0 time-out while reading adaptor ID
  186. ----------R0E13------------------------------
  187. CMOS 0Eh-13h - AMSTRAD - TIME AND DATE MACHINE LAST USED
  188. ----------R0F--------------------------------
  189. CMOS 0Fh - IBM - RESET CODE (IBM PS/2 "Shutdown Status Byte")
  190. (Table C0006)
  191. Values for Reset Code / Shutdown Status Byte:
  192. 00h-03h perform power-on reset
  193. 00h software reset or unexpected reset
  194. 01h reset after memory size check in real/virtual mode
  195. (or: chip set initialization for real mode reentry)
  196. 02h reset after successful memory test in real/virtual mode
  197. 03h reset after failed memory test in real/virtual mode
  198. 04h INT 19h reboot
  199. 05h flush keyboard (issue EOI) and jump via 40h:0067h
  200. 06h reset (after successful test in virtual mode)
  201. (or: jump via 40h:0067h without EOI)
  202. 07h reset (after failed test in virtual mode)
  203. 08h used by POST during protected-mode RAM test (return to POST)
  204. 09h used for INT 15/87h (block move) support
  205. 0Ah resume execution by jump via 40h:0067h
  206. 0Bh resume execution via IRET via 40h:0067h
  207. 0Ch resume execution via RETF via 40h:0067h
  208. 0Dh-FFh perform power-on reset
  209. --------!---Note-----------------------------
  210. The second group of values extends from address 10h to 2Dh. The word at
  211. 2Eh-2Fh is a byte-wise summation of the values in these bytes. Most BIOSes
  212. will generate a CMOS Checksum error if this value is invalid however many
  213. programs ignore the checksum and report the apparent value. The current
  214. version of MSD reports my XT as having 20+ MB of extended memory.
  215. Where a definiton appears universal, no identification is made. Where
  216. the definition is thought to be specific to a manufacturer/model (AMI,
  217. AMSTRAD, IBM AT, IBM PS/2) the identification is enclosed in parens. The
  218. AMSTAD definitions appear to relate to 8088/8086 (PC and PC/XT class)
  219. mchines only. AT class machines appear to adhere to IBM PC/AT fornat.
  220. ----------R10--------------------------------
  221. CMOS 10h - IBM - FLOPPY DRIVE TYPE
  222. Note: a PC having a 5 1/4 1.2 Mb A: drive and a 1.44 Mb B: drive will
  223. have a value of 24h in byte 10h. With a single 1.44 drive: 40h.
  224. Bitfields for floppy drives A/B types:
  225. Bit(s) Description (Table C0007)
  226. 7-4 first floppy disk drive type (see #C0008)
  227. 3-0 second floppy disk drive type (see #C0008)
  228. (Table C0008)
  229. Values for floppy drive type:
  230. 00h no drive
  231. 01h 360 KB 5.25 Drive
  232. 02h 1.2 MB 5.25 Drive - note: not listed in PS/2 technical manual
  233. 03h 720 KB 3.5 Drive
  234. 04h 1.44 MB 3.5 Drive
  235. 05h 2.88 MB 3.5 drive
  236. 06h-0Fh unused
  237. SeeAlso: #C0007
  238. ----------R11--------------------------------
  239. CMOS 11h - IBM PS/2 - FIRST FIXED DISK DRIVE TYPE BYTE (00-FFh)
  240. Note: if IBM ESDI or SCSI drive controller is used, CMOS drive type will be
  241. zero (00 - no drive) and INT 13h will be directed to controller ROM.
  242. ----------R11--------------------------------
  243. CMOS 11h - older AMI Hi-Flex BIOS - KEYBOARD TYPEMATIC DATA
  244. Bitfields for AMI Hi-Flex BIOS keyboard typematic data:
  245. Bit(s) Description (Table C0009)
  246. 7 enable Typematic
  247. 6-5 Typematic Delay (wait before begin repeating)
  248. 00b 250 ms
  249. 01b 500 ms
  250. 10b 750 ms
  251. 11b 100 ms
  252. 4-0 Typematic Rate (char/sec)
  253. 00000b - 30.0 01000b - 15.9 10000b - 7.5 11000b - 3.7
  254. 00001b - 26.7 01001b - 13.3 10001b - 6.7 11001b - 3.3
  255. 00010b - 24.0 01010b - 12.0 10010b - 6.0 11010b - 3.0
  256. 00011b - 21.8 01011b - 10.9 10011b - 5.5 11011b - 2.7
  257. 00100b - 20.0 01100b - 10.0 10100b - 5.0 11100b - 2.5
  258. 00101b - 18.5 01101b - 9.2 10101b - 4.6 11101b - 2.3
  259. 00110b - 17.1 01110b - 8.6 10110b - 4.3 11110b - 2.1
  260. 00111b - 16.0 01111b - 8.0 10111b - 4.0 11111b - 2.0
  261. ----------R11--------------------------------
  262. CMOS 11h - AMI - ADVANCED SETUP OPTIONS
  263. Bitfields for AMI advanced setup options:
  264. Bit(s) Description (Table C0010)
  265. 7 mouse enabled
  266. 6 test memory above 1 megabyte
  267. 5 generate clicks during memory test
  268. 4 enable memory parity check
  269. 3 display key for Setup while booting
  270. 2 store user-defined disk data at top of memory instead of 0030h:0000h
  271. 1 request F1 keypress on boot error
  272. ----------R11--------------------------------
  273. CMOS 11h - AMI WinBIOS - BOOT OPTIONS
  274. SeeAlso: CMOS 13h"AMI"
  275. Bitfields for AMI WinBIOS boot options:
  276. Bit(s) Description (Table C0011)
  277. 7 systems boots with high CPU speed
  278. 6 memory test above 1MB enabled
  279. 5 memory test tick sound enabled
  280. 4 floppy drive seek at boot enabled
  281. 3 "Hit <Del>" message enabled
  282. 2 BIOS extended RAM area takes 1K at top of memory instead of 30h:0000h
  283. 1 wait for F1 key on error
  284. 0 NumLock enabled at boot
  285. ----------R11--------------------------------
  286. CMOS 11h - AWARD - CONFIGURATION BITS
  287. SeeAlso: CMOS 5Eh"AWARD"
  288. Bitfields for AWARD configuration bits:
  289. Bit(s) Description (Table C0012)
  290. 7 NumLock ON at reboot
  291. 6 IDE Block Mode enabled
  292. 5 ???
  293. 4 Shadow ROM BIOS at CC00-CFFF
  294. 3 Shadow ROM BIOS at C800-CBFF
  295. 2 ???
  296. 1 BIOS Password Enabled (supervisor)
  297. 0 0 = Password controls BIOS Setup Only
  298. 1 = Password required to enter System
  299. SeeAlso: #C0083
  300. Code snippet by Jens Rehsack:
  301. FUNCTION CalcPossiblePassword( PasswordValue: WORD ): STRING[8];
  302. VAR
  303. I : BYTE;
  304. C : CHAR;
  305. S : STRING[8];
  306. BEGIN
  307. I := 0;
  308. WHILE PasswordValue <> 0 DO
  309. BEGIN
  310. Inc( I );
  311. IF $263 > PasswordValue THEN
  312. BEGIN
  313. IF $80 > PasswordValue THEN
  314. S[I] := CHAR( PasswordValue )
  315. ELSE IF $B0 > PasswordValue THEN
  316. S[I] := CHAR( PasswordValue AND $77 )
  317. ELSE IF $11D > PasswordValue THEN
  318. S[I] := CHAR( $30 OR ( PasswordValue AND $0F ) )
  319. ELSE IF $114 > PasswordValue THEN
  320. BEGIN
  321. S[I] := CHAR( $64 OR ( PasswordValue AND $0F ) );
  322. IF '0' > S[I] THEN
  323. S[I] := CHAR( BYTE( S[I] ) + 8 );
  324. END ELSE IF $1C2 > PasswordValue THEN
  325. S[I] := CHAR( $70 OR ( PasswordValue AND $03 ) )
  326. ELSE IF $1E4 > PasswordValue THEN
  327. S[I] := CHAR( $30 OR ( PasswordValue AND $03 ) )
  328. ELSE
  329. BEGIN
  330. S[I] := CHAR( $70 OR ( PasswordValue AND $0F ) );
  331. IF 'z' < S[I] THEN
  332. S[I] := CHAR( BYTE( S[I] ) - 8 );
  333. END;
  334. END ELSE
  335. S[I] := CHAR( $30 OR ( PasswordValue AND $3 ) );
  336. PasswordValue := ( PasswordValue - BYTE( S[I] ) ) SHR 2;
  337. END;
  338. S[0] := CHAR( I );
  339. PasswordValue := I SHR 1;
  340. WHILE PasswordValue < I DO
  341. BEGIN {this is to do because award starts calculating with the last letter}
  342. C := S[BYTE( S[0] ) - I + 1];
  343. S[BYTE( S[0] ) - I + 1] := S[I];
  344. S[I] := C;
  345. Dec( I );
  346. END;
  347. CalcPossiblePassword := S;
  348. END;
  349. "Okay, the algorithms based on the knowlege, that the award-bios' 4.50 and 4.51
  350. but not (seems to) with earlier versions stores only the last 2 bit of every
  351. character typed in..."
  352. int CalcPasswordCRC( char pw[8] ): word
  353. {
  354. register int i = 8;
  355. register unsigned w = 0;
  356. while( i-- )
  357. w |= ( unsigned( pw[i] ) & 0x3 ) << ( i * 2 );
  358. return w;
  359. }
  360. ----------R11--------------------------------
  361. CMOS 11h - Quadtel HT12 BIOS 03.05.03 - CONFIGURATION BITS
  362. Bitfields for Quadtel HT12 configuration bits:
  363. Bit(s) Description (Table C0013)
  364. 7 640K RAM present
  365. 6 extension type (=CPU's Machine Status Word)
  366. 3-2 NumLock state at boot time
  367. 00 Auto
  368. 01 NumLock on
  369. 10 Numlock off
  370. 0 384K RAM relocated to top of memory
  371. ----------R12--------------------------------
  372. CMOS 12h - IBM - HARD DISK DATA
  373. Notes: A PC with a single type 2 (20 Mb ST-225) hard disk will have 20h in
  374. byte 12h
  375. some PCs utilizing external disk controller ROMs will use type 0 to
  376. disable ROM BIOS (e.g. Zenith 248 with Plus HardCard).
  377. Bitfields for IBM hard disk data:
  378. Bit(s) Description (Table C0014)
  379. 7-4 First Hard Disk Drive
  380. 00 No drive
  381. 01-0Eh Hard drive Type 1-14
  382. 0Fh Hard Disk Type 16-255
  383. (actual Hard Drive Type is in CMOS RAM 19h)
  384. 3-0 Second Hard Disk Drive Type
  385. (same as first except extrnded type will be found in 1Ah).
  386. ----------R12--------------------------------
  387. CMOS 12h - IBM PS/2 - SECOND FIXED DISK DRIVE TYPE (00-FFh)
  388. SeeAlso: CMOS 11h"IBM PS/2"
  389. ----------R13--------------------------------
  390. CMOS 13h - AMI Hi-Flex BIOS - ADVANCED SETUP OPTIONS
  391. SeeAlso: CMOS 11h"WinBIOS"
  392. Bitfields for AMI Hi-Flex BIOS advanced setup options:
  393. Bit(s) Description (Table C0015)
  394. 7 Mouse Enabled (1 = On)
  395. 6 Test Memory above 1 MB (1 = On)
  396. 5 Memory Test Tick Sound (1 = On)
  397. 4 Memory Parity Error Check (1 = On)
  398. 3 Press <Esc> to Disable Memory Test (1 = On)
  399. 2 User-Defined Hard Disk (1 = Type 47 data area at address 0:300h)
  400. 1 Wait for <F1> Message if Error (1 = On)
  401. 0 Turn Num Lock On at boot (1 = On)
  402. ----------R13--------------------------------
  403. CMOS 13h - AMI WinBIOS - PERIPHERAL OPTIONS
  404. Bitfields for AMI WinBIOS peripheral options:
  405. Bit(s) Description (Table C0016)
  406. 7-5 typematic rate
  407. 000-111 = 6,8,10,12,15,20,24,30 cps
  408. 4 numeric processor test enabled
  409. ----------R13--------------------------------
  410. CMOS 13h - PS/2 MCA - INTERNAL POST OPERATIONS
  411. Bitfields for PS/2 MCA internal POST operations:
  412. Bit(s) Description (Table C0017)
  413. 7 POST sets VGA pel information
  414. 6 RTC battery OK
  415. 5 invoke ROM BASIC from POST
  416. 4 POST sets typematic to 30cps/250ms delay instead of 10.9cps/500ms
  417. 3-2 unused or unknown
  418. 1 network password installed
  419. 0 power-on password installed
  420. ----------R13--------------------------------
  421. CMOS 13h - AWARD - Configuration Bits
  422. Bitfields for AWARD configuration bits:
  423. Bit(s) Description (Table C0018)
  424. 7 set keyboard typematic rate
  425. 4-6 keyboard repeat rate
  426. 000 = 6 cps
  427. 001 = 8 cps
  428. 010 = 10 cps
  429. 011 = 12 cps
  430. 100 = 15 cps
  431. 101 = 20 cps
  432. 110 = 24 cps
  433. 111 = 30 cps
  434. 2-3 keyboard typematic delay
  435. 00 = 250 Msec
  436. 01 = 500 Msec
  437. 10 = 750 Msec
  438. 11 = 1000 Msec
  439. 1 ???
  440. 0 boot up floppy seek
  441. ----------R14--------------------------------
  442. CMOS 14h - IBM - EQUIPMENT BYTE
  443. Bitfields for IBM equipment byte:
  444. Bit(s) Description (Table C0019)
  445. 7-6 number of floppy drives (system must have at least one)
  446. 00b 1 Drive
  447. 01b 2 Drives
  448. 10b ??? 3 Drives
  449. 11b ??? 4 Drives
  450. 5-4 monitor type
  451. 00b Not CGA or MDA (observed for EGA & VGA)
  452. 01b 40x25 CGA
  453. 10b 80x25 CGA
  454. 11b MDA (Monochrome)
  455. 3 display enabled (turned off to enable boot of rackmount)
  456. 2 keyboard enabled (turn off to enable boot of rackmount)
  457. 1 math coprocessor installed
  458. 0 floppy drive installed (turned off for rackmount boot)
  459. ----------R14--------------------------------
  460. CMOS 14h - AMSTRAD - BYTE user RAM checksum
  461. Desc: LSB of sum of all user bytes should be AAh
  462. ----------R15--------------------------------
  463. CMOS 15h - IBM - BASE MEMORY IN KB (low byte)
  464. ----------R1516------------------------------
  465. CMOS 15h-16h - AMSTRAD - Enter key scancode/ASCII code
  466. Size: WORD
  467. Desc: specify the BIOS keycode for keyboard scancode 74h
  468. Note: default: 1C0Dh - emulates Return key
  469. SeeAlso: INT 09,CMOS 17h"AMSTRAD"
  470. ----------R16--------------------------------
  471. CMOS 16h - IBM - BASE MEMORY IN KB (high byte)
  472. Note: The value in 15h-16h should be the same as in 0:413h and that
  473. returned by INT 12h. A PC having 640k (280h) of conventional
  474. memory will return 80h in byte 15h and 02h in byte 16h.
  475. ----------R17--------------------------------
  476. CMOS 17h - IBM - EXTENDED MEMORY IN KB (low byte)
  477. ----------R1718------------------------------
  478. CMOS 17h-18h - AMSTRAD - Forward delete key scancode/ASCII code
  479. Size: WORD
  480. Desc: specify the BIOS keycode for keyboard scancode 70h
  481. Note: default: 2207h - emulates ^G (bell/beep)
  482. SeeAlso: INT 09,CMOS 15h"AMSTRAD",CMOS 19h"AMSTRAD"
  483. ----------R18--------------------------------
  484. CMOS 18h - IBM - EXTENDED MEMORY IN KB (high byte)
  485. Notes: some systems will only accommodate 15 MB extended (16 MB total)
  486. Format is the same as in 15h-16h
  487. ----------R19--------------------------------
  488. CMOS 19h - IBM - FIRST EXTENDED HARD DISK DRIVE TYPE
  489. Note: not in original AT specification but now nearly universally used
  490. except for PS/2.
  491. (Table C0020)
  492. Values for extended hard disk drive type:
  493. 00-0Fh unused (would not require extension. Note: this has the effect of
  494. making type 0Fh (15d) unavailable.
  495. 10h-FFh First Extended Hard Drive Type 16d-255d
  496. Note: For most manufacturers the last drive type (typically either 47d or 49d)
  497. is "user defined" and parameters are stored elsewhere in the CMOS.
  498. ----------R19--------------------------------
  499. CMOS 19h - MCA - SLOT 0 ADAPTER CARD ID
  500. ----------R19--------------------------------
  501. CMOS 19h - AMI - ???
  502. Bitfields for AMI location 19h:
  503. Bit(s) Description (Table C0021)
  504. 3-0 ???
  505. 7-4 ???
  506. ----------R191A------------------------------
  507. CMOS 19h-1Ah - AMSTRAD - Joystick fire button 1 scancode/ASCII code
  508. Size: WORD
  509. Desc: specify the BIOS keycode for keyboard scancode 77h
  510. Note: default: FFFFh - (no translation)
  511. SeeAlso: INT 09,CMOS 17h"AMSTRAD",CMOS 1Bh"AMSTRAD"
  512. ----------R1A--------------------------------
  513. CMOS 1Ah - SECOND EXTENDED HARD DISK DRIVE TYPE
  514. SeeAlso: CMOS 19h"IBM",#C0020
  515. ----------R1A--------------------------------
  516. CMOS 1Ah - MCA - SLOT 0 ADAPTER CARD ID
  517. ----------R1B--------------------------------
  518. CMOS 1Bh - MCA - SLOT 1 ADAPTER CARD ID
  519. ----------R1B--------------------------------
  520. CMOS 1Bh - AMI - First Hard Disk (type 47) user defined: # of Cylinders, LSB
  521. ----------R1B1C------------------------------
  522. CMOS 1Bh-1Ch - AMSTRAD - Joystick fire button 2 scancode/ASCII code
  523. Size: WORD
  524. Desc: specify the BIOS keycode for keyboard scancode 78h
  525. Note: default: FFFFh - (no translation)
  526. SeeAlso: INT 09,CMOS 19h"AMSTRAD",CMOS 1Dh"AMSTRAD"
  527. ----------R1B--------------------------------
  528. CMOS 1Bh - PHOENIX - LSB of Word to 82335 RC1 roll compare register
  529. ----------R1B--------------------------------
  530. CMOS 1Bh - AWARD - CONFIGURATION BITS
  531. Bitfields for AWARD shadow RAM configuration bits:
  532. Bit(s) Description (Table C0022)
  533. 7-4 ???
  534. 3 Shadow ROM BIOS at DC00-DFFF
  535. 2 shadow " " " D800-DBFF
  536. 1 shadow " " " D400-D7FF
  537. 0 shadow " " " D000-D3FF
  538. ----------R1C--------------------------------
  539. CMOS 1Ch - MCA - SLOT 1 ADAPTER CARD ID
  540. ----------R1C--------------------------------
  541. CMOS 1Ch - AMI - First Hard Disk user defined: # of Cylinders, High Byte
  542. ----------R1C--------------------------------
  543. CMOS 1Ch - PHOENIX - MSB of Word to 82335 RC1 roll compare register
  544. --------y-R1C--------------------------------
  545. CMOS 1Ch,1Dh - AWARD - Password
  546. Note: Stored as a checksum using the following algorithm:
  547. initialize 16-bit checksum to zero
  548. for each ASCII character between 32 (space) and 127 (DEL) in the
  549. password, add character to checksum, then rotate left two bits
  550. store low byte of result in 1Ch and high byte in 1Dh (for user
  551. password, use locations 4Dh and 4Eh instead)
  552. SeeAlso: CMOS 4Dh"AWARD"
  553. ----------R1D--------------------------------
  554. CMOS 1Dh - MCA - SLOT 2 ADAPTER CARD ID
  555. ----------R1D--------------------------------
  556. CMOS 1Dh - AMI - First Hard Disk user defined: Number of Heads
  557. ----------R1D--------------------------------
  558. CMOS 1Dh - AMSTRAD - mouse button 1 scancode/ASCII code
  559. Size: WORD
  560. Desc: specify the BIOS keycode for keyboard scancode 7Dh
  561. Note: default: FFFFh - (no translation)
  562. SeeAlso: INT 09,CMOS 1Bh"AMSTRAD",CMOS 1Fh"AMSTRAD"
  563. ----------R1D--------------------------------
  564. CMOS 1Dh - Zenith Z-200 monitor - BOOT DRIVE SELECTION
  565. Bitfields for Zenith Z-200 boot drive selection:
  566. Bit(s) Description (Table C0023)
  567. 6-5 (0xx0 0000)
  568. 00 - MFM Monitor
  569. 01 - First floppy drive (A:)
  570. 10 - First fixed disk (C:)
  571. 11 - First floppy drive (A:). If not there then First fixed disk (C:)
  572. (this is the default).
  573. ----------R1D--------------------------------
  574. CMOS 1Dh - PHOENIX - LSB of Word to 82335 RC2 roll compare register
  575. --------y-R1D--------------------------------
  576. CMOS 1Dh - AWARD - MSB of password checksum (see byte 1Ch)
  577. ----------R1D--------------------------------
  578. CMOS 1Dh - Quadtel HT 12 BIOS - first user def. drive: # of cylinders low byte
  579. ----------R1E--------------------------------
  580. CMOS 1Eh - MCA - SLOT 2 ADAPTER CARD ID
  581. ----------R1E--------------------------------
  582. CMOS 1Eh - AMI - First Hard Disk user defined: WPC-low
  583. Desc: Write Precompensation Cylinder, Low Byte, for first user-defined hard
  584. disk
  585. ----------R1E--------------------------------
  586. CMOS 1Eh - PHOENIX - MSB of Word to 82335 RC2 roll compare register
  587. ----------R1E--------------------------------
  588. CMOS 1Eh - AWARD - 2nd Hard Disk user defined: # of Cylinders Low Byte
  589. ----------R1E--------------------------------
  590. CMOS 1Eh - Quadtel HT 12 BIOS - FIRST USER DEFINED DRIVE
  591. Bitfields for Quadtel HT-12 user-defined drive heads/cylinders:
  592. Bit(s) Description (Table C0024)
  593. 7-4 number of heads
  594. 3-0 number of cylinders (MSB)
  595. ----------R1F--------------------------------
  596. CMOS 1Fh - MCA - SLOT 3 ADAPTER CARD ID
  597. ----------R1F--------------------------------
  598. CMOS 1Fh - AMI - First Hard Disk user defined: WPC-high
  599. Desc: Write Precompensation Cylinder, high byte, for first user-defined
  600. hard disk
  601. ----------R1F20------------------------------
  602. CMOS 1Fh-20h - AMSTRAD - mouse button 2 scancode/ASCII code
  603. Size: WORD
  604. Desc: specify the BIOS keycode for keyboard scancode 7Eh
  605. Note: default: FFFFh - (no translation)
  606. SeeAlso: INT 09,CMOS 1Dh"AMSTRAD"
  607. ----------R1F--------------------------------
  608. CMOS 1Fh - AWARD - 2nd Hard Disk user defined (type 48): # of Cylinders High
  609. ----------R1F--------------------------------
  610. CMOS 1Fh - Quadtel HT 12 BIOS - first user def. drive: WPC-low
  611. Desc: Write Precompensation Cylinder, low byte, for first user-defined
  612. hard disk
  613. ----------R20--------------------------------
  614. CMOS 20h - MCA - SLOT 3 ADAPTER CARD ID
  615. ----------R20--------------------------------
  616. CMOS 20h - AMI - First Hard Disk user defined: Control Byte
  617. Bitfields for AMI user-defined hard disk control byte:
  618. Bit(s) Description (Table C0025)
  619. 7-6 no retries (1)
  620. 5 bad sector map at last cylinder+1
  621. 4 unused (0)
  622. 3 more than 8 heads
  623. 2-0 unused (0)
  624. ----------R20--------------------------------
  625. CMOS 20h - AMI WinBIOS - First Hard Disk user defined: Landing Zone, Low Byte
  626. ----------R20--------------------------------
  627. CMOS 20h - PHOENIX - First user defined hard disk (type 48) Cylinders LSB
  628. ----------R20--------------------------------
  629. CMOS 20h - AWARD - 2nd Hard Disk user defined (type 48): Number of Heads
  630. ----------R20--------------------------------
  631. CMOS 20h - Quadtel HT 12 BIOS - FIRST USER DEFINED DRIVE
  632. SeeAlso: CMOS 26h"Quadtel"
  633. Bitfields for Quadtel landing zone/write-precompensation:
  634. Bit(s) Description (Table C0026)
  635. 7-4 landing zone MSB
  636. 3-0 write precom. cyl. MSB
  637. ----------R21--------------------------------
  638. CMOS 21h - MCA - Programmable Option Select configuration byte 2
  639. ----------R21--------------------------------
  640. CMOS 21h - AMI - First Hard Disk user defined: Landing Zone, Low Byte
  641. ----------R21--------------------------------
  642. CMOS 21h - AMI WinBIOS - First Hard Disk user defined: Landing Zone, High Byte
  643. ----------R21--------------------------------
  644. CMOS 21h - AMSTRAD - MOUSE X SCALING FACTOR
  645. Note: default: 0Ah
  646. ----------R21--------------------------------
  647. CMOS 21h - PHOENIX - First user defined hard disk (type 48) Cylinders MSB
  648. ----------R21--------------------------------
  649. CMOS 21h - AWARD - 2nd Hard Disk user defined (type 48): Write Precomp Low Byte
  650. ----------R21--------------------------------
  651. CMOS 21h - Quadtel HT 12 BIOS - first user def. drive: landing zone low byte
  652. ----------R22--------------------------------
  653. CMOS 22h - MCA - Programmable Option Select configuration byte 3
  654. ----------R22--------------------------------
  655. CMOS 22h - AMI - First Hard Disk user defined: Landing Zone, High Byte
  656. ----------R22--------------------------------
  657. CMOS 22h - AMI WinBIOS - First Hard Disk user defined: # of Sectors per track
  658. ----------R22--------------------------------
  659. CMOS 22h - AMSTRAD - MOUSE Y SCALING FACTOR
  660. Note: default: 0Ah
  661. ----------R22--------------------------------
  662. CMOS 22h - PHOENIX - First user defined hard disk (type 48) of Heads
  663. ----------R22--------------------------------
  664. CMOS 22h - AWARD - 2nd Hard Disk user defined (type 48): Write Precomp High Byte
  665. ----------R22--------------------------------
  666. CMOS 22h - Quadtel HT 12 BIOS - first user def. drive: sectors per track
  667. ----------R23--------------------------------
  668. CMOS 23h - MCA - Programmable Option Select configuration byte 4
  669. ----------R23--------------------------------
  670. CMOS 23h - AMI - First Hard Disk user defined: # of Sectors per track
  671. ----------R23--------------------------------
  672. CMOS 23h - AMI WinBIOS - Second Hard Disk user defined: # Cylinders, Low Byte
  673. ----------R23--------------------------------
  674. CMOS 23h - AMSTRAD - INITIAL VDU MODE AND DRIVE COUNT
  675. Note: default: 20h
  676. Bitfields for Amstrad initial VDU mode/drive count:
  677. Bit(s) Description (Table C0027)
  678. 7 enables extended serial flow control (NB this is buggy)
  679. 6 set if two floppy drives installed
  680. 5-4 (from Amstrad 1640 tech ref)
  681. 00 Internal video adapter
  682. 01 CGA card added; 40 x 25 mode
  683. 10 CGA card added; 80 x 25 mode
  684. 11 mono card added; 80 x 25 mode
  685. ----------R23--------------------------------
  686. CMOS 23h - PHOENIX - First user defined hard disk (type 48) Write Precomp. LSB
  687. ----------R23--------------------------------
  688. CMOS 23h - AWARD - 2nd Hard Disk user defined (type 48): Landing Zone Low Byte
  689. ----------R23--------------------------------
  690. CMOS 23h - Quadtel HT 12 BIOS - second user def. drive: # of cylinders low byte
  691. ----------R24--------------------------------
  692. CMOS 24h - MCA - Programmable Option Select configuration byte 5
  693. ----------R24--------------------------------
  694. CMOS 24h - AMI - Second Hard Disk user defined: # Cylinders, Low Byte
  695. ----------R24--------------------------------
  696. CMOS 24h - AMI WinBIOS - Second Hard Disk user defined: # Cylinders, High Byte
  697. ----------R24--------------------------------
  698. CMOS 24h - AMSTRAD - INITIAL VDU CHARACTER ATTRIBUTE
  699. Note: default: 7h
  700. ----------R24--------------------------------
  701. CMOS 24h - PHOENIX - First user defined hard disk (type 48) Write Precomp. MSB
  702. ----------R24--------------------------------
  703. CMOS 24h - AWARD - 2nd Hard Disk user defined (type 48): Landing Zone High Byte
  704. ----------R24--------------------------------
  705. CMOS 24h - Quadtel HT 12 BIOS - SECOND USER DEFINED DRIVE
  706. SeeAlso: CMOS 1Eh"Quadtel",#C0024
  707. ----------R25--------------------------------
  708. CMOS 25h - AMI - Second Hard Disk user defined: # of Cylinders, High Byte
  709. ----------R25--------------------------------
  710. CMOS 25h - AMI WinBIOS - Second Hard Disk user defined: Number of Heads
  711. ----------R25--------------------------------
  712. CMOS 25h - AMSTRAD - size of RAM disk in 2K blocks
  713. Note: default: 0 - only used by the RAMDISK software supplied.
  714. ----------R25--------------------------------
  715. CMOS 25h - PHOENIX - First user defined hard disk (type 48) Parking zone LSB
  716. ----------R25--------------------------------
  717. CMOS 25h - AWARD - 2nd Hard Disk user defined (type 48): Sectors per Track
  718. ----------R25--------------------------------
  719. CMOS 25h - Quadtel HT 12 BIOS - second user def. drive: WPC-low
  720. Desc: Write Precompensation Cylinder, low byte
  721. ----------R26--------------------------------
  722. CMOS 26h - AMI - Second Hard Disk user defined: Number of Heads
  723. ----------R26--------------------------------
  724. CMOS 26h - AMI WinBIOS - Second Hard Disk user defined: WPC-low
  725. Desc: Write Precompensation Cylinder, Low Byte
  726. ----------R26--------------------------------
  727. CMOS 26h - AMSTRAD - INITIAL SYSTEM UART SETUP BYTE
  728. Note: default: E3h - format as for Int 14h fn 0
  729. ----------R26--------------------------------
  730. CMOS 26h - PHOENIX - First user defined hard disk (type 48) Parking zone MSB
  731. ----------R26--------------------------------
  732. CMOS 26h - AWARD - 1st Hard Disk user defined (type 49): # Cylinders, Low Byte
  733. ----------R26--------------------------------
  734. CMOS 26h - Quadtel HT 12 BIOS - SECOND USER DEFINED DRIVE
  735. SeeAlso: CMOS 20h"Quadtel",#C0026
  736. ----------R27--------------------------------
  737. CMOS 27h - AMI - Second Hard Disk user defined: WPC-low
  738. Desc: Write Precompensation Cylinder, Low Byte
  739. ----------R27--------------------------------
  740. CMOS 27h - AMI WinBIOS - Second Hard Disk user defined: WPC-high
  741. Desc: Write Precompensation Cylinder, High Byte
  742. ----------R27--------------------------------
  743. CMOS 27h - AMSTRAD - INITIAL EXTERNAL UART SETUP BYTE
  744. Note: default: E3h - format as for Int 14h fn 0
  745. ----------R27--------------------------------
  746. CMOS 27h - PHOENIX - First user defined hard disk (type 48) Sectors per track
  747. ----------R27--------------------------------
  748. CMOS 27h - AWARD - 1st Hard Disk user defined (type 49): # Cylinders, High Byte
  749. ----------R27--------------------------------
  750. CMOS 27h - Quadtel HT 12 BIOS - SECOND USER DEF. DRIVE: landing zone low byte
  751. ----------R28--------------------------------
  752. CMOS 28h - AMI - Second Hard Disk user defined: WPC-high
  753. Desc: Write Precompensation Cylinder, High Byte
  754. ----------R28--------------------------------
  755. CMOS 28h - AMI WinBIOS - Second Hard Disk user defined: Landing Zone, Low Byte
  756. ----------R28--------------------------------
  757. CMOS 28h - HP Vectra - checksum over bytes 29h-2Dh
  758. ----------R28--------------------------------
  759. CMOS 28h - AWARD - 1st Hard Disk user defined (type 49): Number of Heads
  760. ----------R28--------------------------------
  761. CMOS 28h - Quadtel HT 12 BIOS - second user def. drive: sectors per track
  762. ----------R283F------------------------------
  763. CMOS 28h-3Fh - AMSTRAD - user applications default: zeroes
  764. ----------R29--------------------------------
  765. CMOS 29h - AMI - Second Hard Disk user defined: Control Byte
  766. Note: 80h if # of heads is equal or greater than 8
  767. ----------R29--------------------------------
  768. CMOS 29h - AMI WinBIOS - Second Hard Disk user defined: Landing Zone, High Byte
  769. ----------R29--------------------------------
  770. CMOS 29h - PHOENIX - LSB word to Intel 82335 CC0 compare register
  771. ----------R29--------------------------------
  772. CMOS 29h - AWARD - 1st Hard Disk user defined (type 49): Write Precomp Low Byte
  773. ----------R29--------------------------------
  774. CMOS 29h - HP Vectra - OFFICIALLY RESERVED "CMOS_HPCONFIG"
  775. Bitfields for HP Vectra CMOS_HPCONFIG:
  776. Bit(s) Description (Table C0028)
  777. 7 include byte 2Ch in checksum (default = 0)
  778. 6 select second ROM video adapter as primary (default = 0)
  779. 5-1 reserved
  780. 0 manufacturing test enabled
  781. ----------R2A--------------------------------
  782. CMOS 2Ah - AMI - Second Hard Disk user defined: Landing Zone, Low Byte
  783. ----------R2A--------------------------------
  784. CMOS 2Ah - AMI WinBIOS - Second Hard Disk user defined: # of Sectors per track
  785. ----------R2A--------------------------------
  786. CMOS 2Ah - HP Vectra - OFFICIALLY RESERVED
  787. ----------R2A--------------------------------
  788. CMOS 2Ah - PHOENIX - MSB word to Intel 82335 CC0 compare register
  789. ----------R2A--------------------------------
  790. CMOS 2Ah - AWARD - 1st Hard Disk user defined (type 49): Write Precomp High
  791. ----------R2B--------------------------------
  792. CMOS 2Bh - AMI - Second Hard Disk user defined: Landing Zone, High Byte
  793. ----------R2B--------------------------------
  794. CMOS 2Bh - AMI WinBIOS - IDE and shadowing control
  795. Bitfields for AMI WinBIOS IDE/shadowing control:
  796. Bit(s) Description (Table C0029)
  797. 7 LBA mode enabled
  798. 6 IDE block mode enabled
  799. 5 32-bit transfer enabled
  800. 4 unused
  801. 3 shadowing of DC00h enabled
  802. 2 shadowing of D800h enabled
  803. 1 shadowing of D400h enabled
  804. 0 shadowing of D000h enabled
  805. SeeAlso: #C0030
  806. ----------R2B--------------------------------
  807. CMOS 2Bh - HP Vectra - OFFICIALLY RESERVED
  808. ----------R2B--------------------------------
  809. CMOS 2Bh - PHOENIX - LSB word to Intel 82335 CC1 compare register
  810. ----------R2B--------------------------------
  811. CMOS 2Bh - AWARD - 1st Hard Disk user defined (type 49): Landing Zone Low Byte
  812. ----------R2C--------------------------------
  813. CMOS 2Ch - AMI - Second Hard Disk user defined: # of Sectors per track
  814. ----------R2C--------------------------------
  815. CMOS 2Ch - AMI WinBIOS - CACHE CONTROL
  816. Bitfields for AMI WinBIOS cache control:
  817. Bit(s) Description (Table C0030)
  818. 7 external RAM cache enabled
  819. 6 internal RAM cache enabled
  820. 5 shadowing of E000h enabled
  821. 4 shadowing of CC00h enabled
  822. 3 shadowing of C800h enabled
  823. 2 shadowing of C400h (video ROM) enabled
  824. 1 shadowing of C000h (video ROM) enabled
  825. 0 shadowing of system BIOS (F000h, 64K) enabled
  826. SeeAlso: #C0029
  827. ----------R2C--------------------------------
  828. CMOS 2Ch - HP Vectra - OFFICIALLY RESERVED
  829. ----------R2C--------------------------------
  830. CMOS 2Ch - COMPAQ - NumLock CONTROL
  831. Bitfields for Compaq NumLock control:
  832. Bit(s) Description (Table C0031)
  833. 6 0 - numlock OFF on boot, 1 - numlock ON at boot
  834. ----------R2C--------------------------------
  835. CMOS 2Ch - PHOENIX - MSB word to Intel 82335 CC1 compare register
  836. ----------R2C--------------------------------
  837. CMOS 2Ch - AWARD - 1st Hard Disk user defined (type 49): Landing Zone High Byte
  838. ----------R2D--------------------------------
  839. CMOS 2Dh - AMI Hi-Flex BIOS - CONFIGURATION OPTIONS
  840. Bitfields for AMI Hi-Flex BIOS configuration options:
  841. Bit(s) Description (Table C0032)
  842. 7 Weitek Installed
  843. 6 Floppy Drive Seek - turn off for fast boot
  844. 5 Boot Order
  845. 0 - Drive C:, then A:
  846. 1 - Drive A:, then C:
  847. 4 Boot Speed (0 - Low; 1 - High)
  848. 3 External Cache Enable (1 = On)
  849. 2 Internal Cache Enable (1 = On)
  850. 1 Use Fast Gate A20 after boot (1 = On)
  851. 0 Turbo Switch (1 = On)
  852. ----------R2D--------------------------------
  853. CMOS 2Dh - AMI WinBIOS - flags
  854. Bitfields for AMI WinBIOS flags:
  855. Bit(s) Description (Table C0033)
  856. 7 Weitek Installed
  857. 6 bootsector virus protection enabled
  858. 5 mouse enabled
  859. 4 password checking (0 setup, 1 always)
  860. 3 parity error check enabled
  861. 2-1 boot order (00 = C:A:, 01 = A:C:)
  862. 0 turbo switch enabled
  863. ----------R2D--------------------------------
  864. CMOS 2Dh - HP Vectra - OFFICIALLY RESERVED
  865. ----------R2D--------------------------------
  866. CMOS 2Dh - PHOENIX - ???
  867. Note: checks for values AAh or CCh
  868. ----------R2D--------------------------------
  869. CMOS 2Dh - AWARD - 1st Hard Disk user defined (type 49): Sectors per Track
  870. ----------R2E--------------------------------
  871. CMOS 2Eh - IBM - Standard CMOS Checksum, High Byte
  872. ----------R2F--------------------------------
  873. CMOS 2Fh - IBM - Standard CMOS Checksum, Low Byte
  874. 2Eh and 2Fh are as defined by the original IBM PC/AT specification and
  875. represent a byte-wise additive sum of the values in locations 10h-2Dh only,
  876. 00h-0Fh and 30h-33h are not included. This definition is used by most
  877. clone manufacturers including AMI, Compaq, Tandon, NEC, and Zenith. The
  878. IBM PS/2 line does not follow this standard with the range 19h-31h being
  879. undefined. On the original HP Vectra, this checksum only covers locations
  880. 10h to 20h, with a separate checksum for bytes 29h-2Ch (see offset 28h).
  881. ----------R30--------------------------------
  882. CMOS 30h - IBM - EXTENDED MEMORY IN KB (low byte)
  883. SeeAlso: CMOS 17h"IBM",CMOS 31h
  884. ----------R31--------------------------------
  885. CMOS 31h - IBM - EXTENDED MEMORY IN KB (high byte)
  886. (this appears to mirror the value in bytes 17h-18h.)
  887. SeeAlso: CMOS 18h"IBM",CMOS 30h
  888. ----------R32--------------------------------
  889. CMOS 32h - IBM - CENTURY BYTE (BCD value for the century - currently 19h)
  890. SeeAlso: CMOS 7Fh
  891. ----------R32--------------------------------
  892. CMOS 32h - IBM PS2 - CONFIGURATION CRC LOW BYTE
  893. Desc: CRC for range 10h-31h
  894. SeeAlso: CMOS 33h"PS/2"
  895. ----------R33--------------------------------
  896. CMOS 33h - IBM - INFORMATION FLAG
  897. Bitfields for IBM information flag:
  898. Bit(s) Description (Table C0034)
  899. 7 128K ??? believe this indicates the presence of the special 128k
  900. memory expansion board for the AT to boost the "stock" 512k
  901. to 640k - all machines surveyed have this bit set)
  902. 6-0 ???
  903. ----------R33--------------------------------
  904. CMOS 33h - IBM PS/2 - CONFIGURATION CRC HIGH BYTE (see entry for 32h)
  905. SeeAlso: CMOS 32h"PS/2"
  906. ----------R33--------------------------------
  907. CMOS 33h - PHOENIX - Bit 4 (000x 0000) bit 4 from Intel CPU register CR0
  908. ----------R33--------------------------------
  909. CMOS 33h - AMI WinBIOS - INFORMATION FLAGS
  910. Bitfields for AMI WinBIOS information flags:
  911. Bit(s) Description (Table C0035)
  912. 7 IBM-defined top 128K present
  913. 6-4 CPU internal clock frequency
  914. 000-011 = 25, 33, 40, 50 MHz
  915. 100 = 60/66 MHz
  916. 101 = 75 MHz
  917. 110 = 80 MHz
  918. 111 = 90/100 MHz
  919. 2-1 CPU internal clock multiplier
  920. 00-11 = 1,2,3,4
  921. 0 FlashROM programming enabled (Ctrl-Home pressed at power on)
  922. Note: this location is not included in any CMOS checksum fields
  923. ----------R33--------------------------------
  924. CMOS 33h - Quadtel HT12 BIOS 03.05.03 - INFORMATION FLAGS
  925. Bitfields for Quadtel HT12 information flags:
  926. Bit(s) Description (Table C0036)
  927. 7 640K RAM present
  928. 6 extension type (=CPU's Machine Status Word)
  929. 1 print welcome message
  930. ----------R34--------------------------------
  931. CMOS 34h - AMI - SHADOWING & BOOT PASSWORD
  932. SeeAlso: CMOS 35h"AMI"
  933. Bitfields for AMI shadowing control 1:
  934. Bit(s) Description (Table C0037)
  935. 7-6 password selection
  936. 00b Disable
  937. 10b Reserved
  938. 01b Set
  939. 11b Boot
  940. 5 C8000h Shadow ROM (Bit 1 = On)
  941. 4 CC000h Shadow ROM (Bit 1 = On)
  942. 3 D0000h Shadow ROM (Bit 1 = On)
  943. 2 D4000h Shadow ROM (Bit 1 = On)
  944. 1 D8000h Shadow ROM (Bit 1 = On)
  945. 0 DC000h Shadow ROM (Bit 1 = On)
  946. SeeAlso: #C0038
  947. ----------R34--------------------------------
  948. CMOS 34h - AMI - EXTENDED MEMORY >16M (low byte)
  949. Note: this and the following byte contain the total extended memory in 64K
  950. blocks
  951. SeeAlso: CMOS 35h"AMI"
  952. ----------R34--------------------------------
  953. CMOS 34h - (AMI WinBIOS) system-specific information (bits 3-1)
  954. ----------R343A------------------------------
  955. CMOS 34h-3Ah - (AWARD) ??? unused ??? Defaults to all FFh's.
  956. ----------R35--------------------------------
  957. CMOS 35h - AMI - EXTENDED MEMORY >16M (high byte)
  958. Note: this and the previous byte contain the total extended memory in 64K
  959. blocks
  960. SeeAlso: CMOS 34h"AMI"
  961. ----------R35--------------------------------
  962. CMOS 35h - AMI - SHADOWING CONTROL 2
  963. SeeAlso: CMOS 34"AMI"
  964. Bitfields for AMI shadowing control 2:
  965. Bit(s) Description (Table C0038)
  966. 7 E0000h Shadow ROM (Bit 1 = On)
  967. 6 E4000h Shadow ROM (Bit 1 = On)
  968. 5 E8000h Shadow ROM (Bit 1 = On)
  969. 4 EC000h Shadow ROM (Bit 1 = On)
  970. 3 F0000h Shadow ROM (Bit 1 = On)
  971. 2 C0000h Shadow ROM (Bit 1 = On)
  972. 1 C4000h Shadow ROM (Bit 1 = On)
  973. 0 reserved
  974. SeeAlso: #C0037
  975. ----------R35--------------------------------
  976. CMOS 35h - AMI WinBIOS - EXTENDED MEMORY SIZE IN 64K BLOCKS (low byte)
  977. SeeAlso: CMOS 36h"AMI WinBIOS"
  978. ----------R35--------------------------------
  979. CMOS 35h - PHOENIX - Second user defined hard disk (type 48) Cylinders LSB
  980. Note: used only when PS/2 style password is NOT in effect
  981. ----------R35--------------------------------
  982. CMOS 35h - AMI 1990 Hyundai super-NB368S notebook
  983. Bitfields for Hyundai configuration:
  984. Bit(s) Description (Table C0039)
  985. 3-1 shadowing
  986. 000 shadow disabled
  987. 011 video BIOS shadowed
  988. 100 main BIOS shadowed
  989. 111 both
  990. 0 coprocessor enabled
  991. ----------R36--------------------------------
  992. CMOS 36h - PHOENIX - Second user defined hard disk (type 48) Cylinders MSB
  993. Note: used only when PS/2 style password is NOT in effect.
  994. ----------R36--------------------------------
  995. CMOS 36h - AWARD - IDE control
  996. Bitfields for AWARD IDE control:
  997. Bit(s) Description (Table C0040)
  998. 6 IDE 32-bit transfer mode
  999. ----------R36--------------------------------
  1000. CMOS 36h - AMI - ???
  1001. Bitfields for AMI ???:
  1002. Bit(s) Description (Table C0041)
  1003. 1-0 ???
  1004. 3-2 ???
  1005. ----------R36--------------------------------
  1006. CMOS 36h - AMI WinBIOS - EXTENDED MEMORY SIZE IN 64K BLOCKS (high byte)
  1007. ----------R36--------------------------------
  1008. CMOS 36h - AMI 1990 Hyundai super-NB368S notebook - CPU/VIDEO CONFIGURATION
  1009. Bitfields for Hyundai CPU/video control:
  1010. Bit(s) Description (Table C0042)
  1011. 7 =1 LCD, 0 CRT at boot time
  1012. 6 =1 reversed, 0 normal video mode
  1013. 5 =1 external, 0 internal keyboard
  1014. 4-3 CPU speed
  1015. 00 high
  1016. 01 medium
  1017. 10 low
  1018. 2-1 harddisk vendor 1,2,3,4
  1019. 0 relocation enabled
  1020. ----------R36--------------------------------
  1021. CMOS 36h - Quadtel HT12 BIOS 03.05.03 - EXTENDED MEMORY (low byte)
  1022. ----------R37--------------------------------
  1023. CMOS 37h - IBM PS/2 - DATE CENTURY BYTE
  1024. ----------R37--------------------------------
  1025. CMOS 37h - PHOENIX - Second user defined hard disk (type 48) # of heads
  1026. NOTE: used only when PS/2 style password is NOT in effect.
  1027. ----------R37--------------------------------
  1028. CMOS 37h - AMI Hi-Flex BIOS - ???
  1029. Bitfields for AMI Hi-Flex BIOS location 37h:
  1030. Bit(s) Description (Table C0043)
  1031. 7 ???
  1032. ----------R37--------------------------------
  1033. CMOS 37h - AMI WinBIOS - SETUP COLORS, PASSWORD SEED
  1034. Bitfields for AMI WinBIOS setup colors and password seed:
  1035. Bit(s) Description (Table C0044)
  1036. 7-4 password seed
  1037. 3-0 WinBIOS/AMIBIOS setup color options
  1038. ----------R37--------------------------------
  1039. CMOS 37h - Quadtel HT12 BIOS 03.05.03 - EXTENDED MEMORY (high byte)
  1040. --------y-R373A------------------------------
  1041. CMOS 37h-3Ah - AMI 1990 Hyundai super-NB368S notebook - PASSWORD
  1042. Desc: encoded password, max 4 bytes.
  1043. ----------R38--------------------------------
  1044. CMOS 38h - PHOENIX - Second user defined hard disk (type 48) Write Precomp. LSB
  1045. Note: used only when PS/2 style password is NOT in effect.
  1046. --------y-R383D------------------------------
  1047. CMOS 38h-3Dh - AMI - Encrypted Password
  1048. --------y-R383F------------------------------
  1049. CMOS 38h-3Fh - ??? IBM PS/2 - Encrypted Password
  1050. Note: Initialized to 00h in all bytes. Will accept from 1-7 scan codes.
  1051. ----------R39--------------------------------
  1052. CMOS 39h - PHOENIX - Second user defined hard disk (type 48) Write Precomp. MSB
  1053. Note: used only when PS/2 style password is NOT in effect.
  1054. ----------R3A--------------------------------
  1055. CMOS 3Ah - PHOENIX - Second user defined hard disk (type 48) Parking Zone LSB
  1056. Note: used only when PS/2 style password is NOT in effect.
  1057. ----------R3B--------------------------------
  1058. CMOS 3Bh - PHOENIX - Second user defined hard disk (type 48) Parking Zone MSB
  1059. Note: used only when PS/2 style password is NOT in effect.
  1060. ----------R3B--------------------------------
  1061. CMOS 3Bh - AWARD - CONFIGURATION BITS
  1062. Bitfields for AWARD configuration bits:
  1063. Bit(s) Description (Table C0045)
  1064. 4-7 Screen Colors Used in Setup (see #C0046)
  1065. 3 ??? Default = 0
  1066. 2 ??? Default = 0
  1067. 1 ??? Default = 1
  1068. 0 Enable External Cache
  1069. (Table C0046)
  1070. Values for AWARD setup colors:
  1071. 0000 Yellow/White on Blue (Default)
  1072. 0001 Magenta/White on Blue
  1073. 0010 Yellow/Black on Green
  1074. 0011 Yellow/Green on Cyan
  1075. 0100 Black/Yellow on Cyan
  1076. 0101 Brown/White on Cyan
  1077. 0110 White/Green on Red
  1078. 0111 White/White on Red
  1079. 1000 Green/White on Magenta
  1080. 1001 Yellow/Red on Magenta
  1081. 1010 Red/White on Grey
  1082. 1011 Yellow/White on Grey
  1083. 1100 Cyan/White on Grey
  1084. 1101 Cyan/Yellow on Black
  1085. 1110 White on Black (Monochrome)
  1086. 1111 Green/Red on Black
  1087. SeeAlso: #C0045
  1088. ----------R3C--------------------------------
  1089. CMOS 3Ch - PHOENIX - Second user defined hard disk (type 48) Sectors per track
  1090. Note: used only when PS/2 style password is NOT in effect.
  1091. ----------R3C--------------------------------
  1092. CMOS 3Ch - AWARD - Boot Configuration Bits
  1093. Bitfields for AWARD boot configuration bits:
  1094. Bit(s) Description (Table C0047)
  1095. 7 disable virus warning on boot
  1096. 6,5 ???
  1097. 4 Quick POST Enabled
  1098. 3,2 ???
  1099. 1 Enable Turbo Switch Input
  1100. 0 0 = Boot from A, then C
  1101. 1 = Boot from C, then A
  1102. ----------R3C--------------------------------
  1103. CMOS 3Ch - Quadtel HT12 BIOS 03.05.03 - TOTAL MEMORY (low byte)
  1104. SeeAlso: CMOS 3Dh"Quadtel"
  1105. ----------R3D--------------------------------
  1106. CMOS 3Dh - AWARD - ???
  1107. ----------R3D--------------------------------
  1108. CMOS 3Dh - Phoenix - ???
  1109. Note: bit 3 = base memsize 512K/640K
  1110. ----------R3D--------------------------------
  1111. CMOS 3Dh - Quadtel HT12 BIOS 03.05.03 - TOTAL MEMORY (high byte)
  1112. SeeAlso: CMOS 3Ch"Quadtel"
  1113. ----------R3E--------------------------------
  1114. CMOS 3Eh - AMI - Extended CMOS Checksum, High Byte
  1115. Note: this checksum covers locations 34h - 3Dh, but is not used by some
  1116. later AMI BIOSes
  1117. ----------R3E--------------------------------
  1118. CMOS 3Eh - AWARD - BOOT CONFIGURATION BITS
  1119. Bitfields for AWARD boot configuration bits:
  1120. Bit(s) Description (Table C0048)
  1121. 7 Shadow Video BIOS at C000h
  1122. 6,5 ???
  1123. 4 Swap Floppy Drive
  1124. 3 ???
  1125. 2 Don't Halt on Diskette Errors at Boot
  1126. 1 Don't Halt on Keyboard Errors at Boot
  1127. 0 Never Halt for any error at Boot
  1128. ----------R3E--------------------------------
  1129. CMOS 3Eh - Quadtel HT12 BIOS 03.05.03 - ???
  1130. Bitfields for Quadtel ???:
  1131. Bit(s) Description (Table C0049)
  1132. 2 system error occurred ?? (timer/RTC)
  1133. 0 =0 extended system configuration loaded
  1134. =1 checksum error
  1135. ----------R3E--------------------------------
  1136. CMOS 3Eh - Phoenix - SHADOWING CONTROL
  1137. Bitfields for Phoenix shadowing control:
  1138. Bit(s) Description (Table C0050)
  1139. 7 relocate enable
  1140. 1 shadow video enable
  1141. 0 shadow BIOS enable
  1142. ----------R3F--------------------------------
  1143. CMOS 3Fh - AMI - Extended CMOS Checksum, Low Byte
  1144. Note: this checksum covers locations 34h - 3Dh, but is not used by some
  1145. later AMI BIOSes
  1146. ----------R3F--------------------------------
  1147. CMOS 3Fh - AWARD - ???
  1148. ---------------------------------------------
  1149. End of original 64 CMOS RAM bytes. Many modern chips now contain 128
  1150. bytes and the IBM PS/2 has provision for 2k of "Expansion CMOS".
  1151. The AMI HI-FLEX description is below. If the chip does have only
  1152. 64 bytes, addresses will wrap so that requests for bytes 40h-7Fh will
  1153. return the same values as 00h-3Fh.
  1154. --------p-R40--------------------------------
  1155. CMOS 40h - AMI 1990 Hyundai super-NB368S notebook - POWER-SAVE CONFIGURATION
  1156. Bitfields for Hyundai power-save configuration:
  1157. Bit(s) Description (Table C0051)
  1158. 7 power save enabled
  1159. 6-0 HD power save wait, units of 1 minute (0-20)
  1160. ----------R40--------------------------------
  1161. CMOS 40h - AWARD - Motherboard Chipset (SiS 85C501/85C502 shown)
  1162. Bitfields for AWARD motherboard chipset:
  1163. Bit(s) Description (Table C0052)
  1164. 7-1 ???
  1165. 0 Automatic Configuration Enabled (Default: 1=enabled)
  1166. ----------R4055------------------------------
  1167. CMOS 40h-55h - AMI WinBIOS - PCI BIOS setup data
  1168. ----------R41--------------------------------
  1169. CMOS 41h - AMI - WAIT STATE CONFIGURATION
  1170. Bitfields for AMI wait state configuration:
  1171. Bit(s) Description (Table C0053)
  1172. 7-6 IOR/IOW Wait states
  1173. 5-4 16-bit DMA Wait States
  1174. 3-2 8-bit DMA Wait States
  1175. 1 EMR bit
  1176. 0 DMA Clock Source
  1177. ----------R4243------------------------------
  1178. CMOS 42h-43h - ???
  1179. ----------R4244------------------------------
  1180. CMOS 42h-44h - AWARD - ??? chipset setup ???
  1181. ----------R44--------------------------------
  1182. CMOS 44h - AMI - NMI CONTROL
  1183. Bitfields for AMI NMI control:
  1184. Bit(s) Description (Table C0054)
  1185. 4 NMI Power Fail Warning
  1186. 3 NMI Local Bus Timeout
  1187. ----------R45--------------------------------
  1188. CMOS 45h - AMI - BUS DELAYS
  1189. Bitfields for AMI bus delays:
  1190. Bit(s) Description (Table C0055)
  1191. 7-6 AT Bus 32-Bit Delay
  1192. 5-4 AT Bus 16-Bit Delay
  1193. 3-2 AT Bus 8-Bit Delay
  1194. 1-0 AT Bus I/O Delay
  1195. SeeAlso: #C0058
  1196. ----------R45--------------------------------
  1197. CMOS 45h - AMI (Saturn) - CACHE TAGS
  1198. SeeAlso: CMOS 46h"Saturn"
  1199. Bitfields for AMI (Saturn) cache tags:
  1200. Bit(s) Description (Table C0056)
  1201. 7 base memory 640K instead of 512K
  1202. 4-3 external cache tag width
  1203. 00 8 bits
  1204. 01 9 bits
  1205. 10 7 bits
  1206. 11 7 bits
  1207. ----------R45--------------------------------
  1208. CMOS 45h - AWARD - Motherboard Chipset (SiS 85C501/85C502 shown)
  1209. Bitfields for AWARD motherboard chipset:
  1210. Bit(s) Description (Table C0057)
  1211. 7 System BIOS Cacheable (Default: 1=enabled)
  1212. 6 Video BIOS Cacheable (Default: 1=enabled)
  1213. 5-0 ???
  1214. ----------R46--------------------------------
  1215. CMOS 46h - AMI - BUS WAIT STATES
  1216. Bitfields for AMI bus wait states:
  1217. Bit(s) Description (Table C0058)
  1218. 7-6 AT Bus 32 Bit Wait States
  1219. 5-4 AT Bus 16 Bit Wait States
  1220. 3-2 AT Bus 8 Bit Wait States
  1221. 1-0 AT Bus Clock Source
  1222. SeeAlso: #C0055
  1223. ----------R46--------------------------------
  1224. CMOS 46h - AMI (Saturn) - SHADOW RAM CONTROL 1
  1225. Bitfields for AMI (Saturn) shadow RAM control 1:
  1226. Bit(s) Description (Table C0059)
  1227. 7-6 D000h-D3FFh shadow RAM
  1228. 00 don't shadow
  1229. 01 absent
  1230. 10 shadow
  1231. 11 reserved
  1232. 5-4 CC00h-CFFFh shadow RAM (as for D000h-D3FFh)
  1233. 3-2 C800h-CBFFh shadow RAM (as for D000h-D3FFh)
  1234. 1-0 C000h-C7FFh shadow RAM (as for D000h-D3FFh)
  1235. SeeAlso: #C0060
  1236. ----------R4647------------------------------
  1237. CMOS 46h-47h - AWARD - ??? chipset setup ???
  1238. ----------R47--------------------------------
  1239. CMOS 47h - AMI (Saturn) - SHADOW RAM CONTROL 2
  1240. Bitfields for AMI (Saturn) shadow RAM control 2:
  1241. Bit(s) Description (Table C0060)
  1242. 7-6 DC00h-DFFFh shadow RAM
  1243. 00 don't shadow
  1244. 01 absent
  1245. 10 shadow
  1246. 11 reserved
  1247. 5-4 D800h-DBFFh shadow RAM (as for DC00h-DFFFh)
  1248. 3-2 D400h-D7FFh shadow RAM (as for DC00h-DFFFh)
  1249. 0 PCI VGA palette snooping
  1250. SeeAlso: #C0059
  1251. ----------R4750------------------------------
  1252. CMOS 47h-50h - ???
  1253. ----------R484F------------------------------
  1254. CMOS 48h-4Fh - AWARD - ??? unused ??? Defaults to all FFh's.
  1255. --------y-R484F------------------------------
  1256. CMOS 48h-4Fh - PhoenixBIOS A486 v1.01.E - USER PASSWORD
  1257. Desc: stores scan-codes for the password in the first seven bytes, and the
  1258. low byte of the password checksum in the eighth byte
  1259. SeeAlso: CMOS 50h"A486 v1.01.E"
  1260. ----------R48--------------------------------
  1261. CMOS 48h - AMI (Saturn) - EXTERNAL CACHE
  1262. Bitfields for AMI (Saturn) external cache:
  1263. Bit(s) Description (Table C0061)
  1264. 5 external cache write-back instead of write-through
  1265. ----------R49--------------------------------
  1266. CMOS 49h - AMI (Saturn) - PERFORMANCE
  1267. Bitfields for AMI (Saturn) performance:
  1268. Bit(s) Description (Table C0062)
  1269. 1 DRAM enhanced performance mode
  1270. 0 ISA/DMA enhanced performance mode
  1271. SeeAlso: #C0063
  1272. ----------R4A--------------------------------
  1273. CMOS 4Ah - AMI (Saturn) - BUS CONFIGURATION
  1274. Bitfields for AMI (Saturn) bus configuration:
  1275. Bit(s) Description (Table C0063)
  1276. 7 ISA enhanced performance mode
  1277. 6 ISA bus master installed
  1278. 5-4 PCI slot IRQ
  1279. 00 IRQ5
  1280. 01 IRQ9
  1281. 10 IRQ15
  1282. 11 IRQ15
  1283. 3 PCI on-board SCSI controller enabled
  1284. 1-0 ISA frame buffer
  1285. 00 disabled
  1286. 01 1MB at 15MB
  1287. 10 2MB at 14MB
  1288. 11 4MB at 12MB
  1289. SeeAlso: #C0062
  1290. ----------R4B--------------------------------
  1291. CMOS 4Bh - AMI (Saturn) - ON-BOARD PERIPHERALS
  1292. Bitfields for AMI (Saturn) on-board peripherals:
  1293. Bit(s) Description (Table C0064)
  1294. 4 onboard FDC enabled
  1295. 0 onboard IDE enabled
  1296. ----------R4C--------------------------------
  1297. CMOS 4Ch - AMI (Saturn) - PARALLEL PORT
  1298. Bitfields for AMI (Saturn) parallel port:
  1299. Bit(s) Description (Table C0065)
  1300. 4 IRQ active high
  1301. 3 parallel port extended mode
  1302. 1-0 parallel port address
  1303. ----------R4C--------------------------------
  1304. CMOS 4Ch - AMI (PicoPower) - CLOCK SPEEDS
  1305. Bitfields for AMI (PicoPower) clock speeds:
  1306. Bit(s) Description (Table C0066)
  1307. 7-6 back-to-back I/O delay
  1308. 00 none
  1309. 01 1 SYSCLK
  1310. 10 2 SYSCLKs
  1311. 11 3 SYSCLKs
  1312. 5-3 Turbo clock select
  1313. 001 CLK2IN/3
  1314. 010 CLK2IN/4
  1315. 011 CLK2IN/5
  1316. 100 CLK2IN/6
  1317. 101 CLK2IN/7
  1318. 110 CLK2IN/8
  1319. 111 CLK2IN/9
  1320. 2-0 SYSCLK select (same as for Turbo clock select)
  1321. ----------R4D--------------------------------
  1322. CMOS 4Dh - AMI (Saturn) - RESERVED
  1323. ----------R4D--------------------------------
  1324. CMOS 4Dh - AMI (PicoPower) - MIDDLE BIOS
  1325. Note: Middle BIOS is enabled if bit 1 set
  1326. --------y-R4D--------------------------------
  1327. CMOS 4Dh - AWARD - USER PASSWORD
  1328. SeeAlso: CMOS 4Eh"AWARD",CMOS 1Ch"AWARD"
  1329. ----------R4E--------------------------------
  1330. CMOS 4Eh - AMI (Saturn) - SERIAL PORT
  1331. Bitfields for AMI (Saturn) serial port:
  1332. Bit(s) Description (Table C0067)
  1333. 7-5 serial port 1
  1334. 4-2 serial port 2
  1335. 0 manual programming mode
  1336. ----------R4E--------------------------------
  1337. CMOS 4Eh - AMI (PicoPower) - TURBO BUS VIDEO
  1338. Bitfields for AMI (PicoPower) Turbo Bus video:
  1339. Bit(s) Description (Table C0068)
  1340. 2 memory enabled
  1341. 1 I/O enabled
  1342. --------y-R4E--------------------------------
  1343. CMOS 4Eh - AWARD - USER PASSWORD
  1344. SeeAlso: CMOS 4Dh"AWARD",CMOS 1Ch"AWARD"
  1345. ----------R50--------------------------------
  1346. CMOS 50h - AWARD - PCI Bus Slot 1 Latency Timer 0-255 (default: 0)
  1347. --------y-R5057------------------------------
  1348. CMOS 50h-57h - PhoenixBIOS A486 v1.01.E - ADMIN PASSWORD
  1349. Desc: stores scan-codes for the password in the first seven bytes, and the
  1350. low byte of the password checksum in the eighth byte
  1351. SeeAlso: CMOS 48h"A486 v1.01.E"
  1352. ----------R51--------------------------------
  1353. CMOS 51h - AMI - MEMORY ACCESS CONTROL
  1354. Bitfields for AMI memory access control:
  1355. Bit(s) Description (Table C0069)
  1356. 7 Bank 0/1 RAS Precharge
  1357. 6 Bank 0/1 Access Wait States
  1358. 3-2 Bank 0/1 Wait States
  1359. ----------R51--------------------------------
  1360. CMOS 51h - AWARD - PCI Bus Setup
  1361. Bitfields for AWARD PCI bus setup:
  1362. Bit(s) Description (Table C0070)
  1363. 7 PIRQ0# Interrupt Triggering
  1364. 0 = Edge Sensitive,
  1365. 1 = Level Sensitive
  1366. 6-2 ??? Default: all 1's
  1367. 0-1 Slot 1 IRQ Setup
  1368. 00 = A-PIRQ0 (Default)
  1369. 01 = B-PIRQ1
  1370. 10 = C-PIRQ2
  1371. 11 = D-PIRQ3
  1372. ----------R52--------------------------------
  1373. CMOS 52h - ???
  1374. ----------R52--------------------------------
  1375. CMOS 52h - AWARD - PCI Bus Slot 2 Latency Timer 0-255 (default: 0)
  1376. ----------R53--------------------------------
  1377. CMOS 53h - AMI - MEMORY ACCESS CONTROL
  1378. Bitfields for AMI memory access control:
  1379. Bit(s) Description (Table C0071)
  1380. 7 Bank 2/3 RAS Precharge
  1381. 6 Bank 2/3 Access Wait States
  1382. 3-2 Bank 2/3 Wait States
  1383. ----------R53--------------------------------
  1384. CMOS 53h - AWARD - PCI Bus Setup
  1385. Bitfields for AWARD PCI bus setup:
  1386. Bit(s) Description (Table C0072)
  1387. 7 PIRQ1# Interrupt Triggering
  1388. 0 = Edge Sensitive,
  1389. 1 = Level Sensitive
  1390. 6-2 ??? Default: all 1's
  1391. 0-1 Slot 2 IRQ Setup
  1392. 00 = A-PIRQ1 (Default)
  1393. 01 = B-PIRQ2
  1394. 10 = C-PIRQ3
  1395. 11 = D-PIRQ0
  1396. --------p-R53--------------------------------
  1397. CMOS 53h - AWARD v4.51PG APM - APM FUNCTION CONFIGURATION FOR ATX POWER SUPPLY
  1398. SeeAlso: CMOS 54h"v4.51PG"
  1399. Bitfields for AWARD v4.51PG ATX Power Supply Configuration #1:
  1400. Bit(s) Description (Table C0073)
  1401. 7 power button override enabled
  1402. 6-2 ???
  1403. 1 VGA is active monitor
  1404. 0 ???
  1405. SeeAlso: #C0074
  1406. ----------R547F------------------------------
  1407. CMOS 54h-7Fh - ???
  1408. ----------R54--------------------------------
  1409. CMOS 54h - AWARD - PCI Bus Slot 3 Latency Timer 0-255 (default: 0)
  1410. --------p-R54--------------------------------
  1411. CMOS 54h - AWARD v4.51PG APM - APM FUNCTION CONFIGURATION FOR ATX POWER SUPPLY
  1412. SeeAlso: CMOS 53h"v4.51PG"
  1413. Bitfields for AWARD v4.51PG ATX Power Supply Configuration #2:
  1414. Bit(s) Description (Table C0074)
  1415. 7-2 ???
  1416. 1 enable Resume on Ring
  1417. 0 enable Resume on Alarm
  1418. SeeAlso: #C0073
  1419. ----------R55--------------------------------
  1420. CMOS 55h - AWARD - PCI Bus Setup
  1421. Bitfields for AWARD PCI bus setup:
  1422. Bit(s) Description (Table C0075)
  1423. 7 PIRQ2# Interrupt Triggering
  1424. 0 = Edge Sensitive,
  1425. 1 = Level Sensitive
  1426. 6-2 ??? Default: all 1's
  1427. 0-1 Slot 3 IRQ Setup
  1428. 00 = A-PIRQ2 (Default)
  1429. 01 = B-PIRQ3
  1430. 10 = C-PIRQ0
  1431. 11 = D-PIRQ1
  1432. --------p-R55--------------------------------
  1433. CMOS 55h - AWARD v4.51PG - APM - POWER-ON DAY OF MONTH (Resume by Alarm)
  1434. Note: value is binary, rather than BCD as for most calendar functions
  1435. SeeAlso: CMOS 56h"v4.51PG",CMOS 57h"v4.51PG"
  1436. ----------R56--------------------------------
  1437. CMOS 56h - AWARD - ??? reserved for PCI Bus Slot 4 Latency Timer ???
  1438. --------p-R56--------------------------------
  1439. CMOS 56h - AWARD v4.51PG - APM - POWER-ON HOUR (Resume by Alarm)
  1440. Note: value is binary, rather than BCD as for most calendar functions
  1441. SeeAlso: CMOS 55h"v4.51PG",CMOS 57h"v4.51PG"
  1442. ----------R57--------------------------------
  1443. CMOS 57h - AWARD - PCI Bus Setup
  1444. Bitfields for AWARD PCI bus setup:
  1445. Bit(s) Description (Table C0076)
  1446. 7 PIRQ3# Interrupt Triggering
  1447. 0 = Edge Sensitive,
  1448. 1 = Level Sensitive
  1449. 6-0 ???not used Default: all 1's
  1450. --------p-R57--------------------------------
  1451. CMOS 57h - AWARD v4.51PG - APM - POWER-ON MINUTE (Resume by Alarm)
  1452. Note: value is binary, rather than BCD as for most calendar functions
  1453. SeeAlso: CMOS 56h"v4.51PG",CMOS 58h"v4.51PG"
  1454. ----------R58--------------------------------
  1455. CMOS 58h - AWARD - ??? reserved for PCI Bus Slot 5 Latency Timer ???
  1456. Bitfields for AWARD PCI bus slot 5 latency timer:
  1457. Bit(s) Description (Table C0077)
  1458. 3 onboard CMD IDE Mode 3
  1459. --------p-R58--------------------------------
  1460. CMOS 58h - AWARD v4.51PG - APM - POWER-ON SECOND (Resume by Alarm)
  1461. Note: value is binary, rather than BCD as for most calendar functions
  1462. SeeAlso: CMOS 55h"v4.51PG",CMOS 57h"v4.51PG"
  1463. ----------R59--------------------------------
  1464. CMOS 59h - AWARD - ??? reserved for PCI Bus Setup ???
  1465. ----------R5A--------------------------------
  1466. CMOS 5Ah - AWARD - PCI Bus IRQ Setup 1
  1467. Bitfields for AWARD PCI bus IRQ setup 1:
  1468. Bit(s) Description (Table C0078)
  1469. 4-7 PIRQ1# Interrupt Line (0=none, Bh=IRQ11, etc)
  1470. 0-3 PIRQ0# Interrupt Line " " "
  1471. ----------R5B--------------------------------
  1472. CMOS 5Bh - AWARD - PCI Bus IRQ Setup 2
  1473. Bitfields for AWARD PCI bus IRQ setup 2:
  1474. Bit(s) Description (Table C0079)
  1475. 4-7 PIRQ3# Interrupt Line (0=none, Bh=IRQ11, etc)
  1476. 0-3 PIRQ2# Interrupt Line " " "
  1477. ----------R5C--------------------------------
  1478. CMOS 5Ch - AMI (PicoPower) - LOW-SPEED CLOCK
  1479. Bitfields for AMI (PicoPower) low-speed clock select:
  1480. Bit(s) Description (Table C0080)
  1481. 2-0 low-speed clock divisor
  1482. 000 /1
  1483. 001 /2
  1484. 010 /4
  1485. ----------R5C5F------------------------------
  1486. CMOS 5Ch-5Fh - AWARD - ??? unused ???
  1487. Note: Defaults to all FFh's.
  1488. --------p-R5D--------------------------------
  1489. CMOS 5Dh - AMI (PicoPower) - DOZE MODE
  1490. Bitfields for AMI (PicoPower) doze mode control:
  1491. Bit(s) Description (Table C0081)
  1492. 7 APM enabled
  1493. 6-4 doze mode CPU clock speed (see #C0082)
  1494. 3 hotkey setup enabled
  1495. 2-0 "sleep mode" CPU CLK speed (see #C0082)
  1496. SeeAlso: #C0084
  1497. (Table C0082)
  1498. Values for AMI (PicoPower) CPU clock speeds:
  1499. 000 MAX
  1500. 001 MAX/2
  1501. 010 MAX/4
  1502. 011 MAX/8
  1503. 100 MAX/16
  1504. 101 MAX/32
  1505. 110 MAX/64
  1506. SeeAlso: #C0081,#C0084
  1507. ----------R5E--------------------------------
  1508. CMOS 5Eh - AMI 1990 Hyundai super-NB368S notebook - ???
  1509. 00h when values from bios defaults
  1510. 34h when values from power up defaults
  1511. ----------R5E--------------------------------
  1512. CMOS 5Eh - AWARD v4.50G - ?
  1513. SeeAlso: CMOS 5Fh"AWARD"
  1514. Bitfields for AWARD register 5Eh:
  1515. Bit(s) Description (Table C0083)
  1516. 0 user password enabled
  1517. SeeAlso: #C0012
  1518. --------p-R5E--------------------------------
  1519. CMOS 5Eh - AMI (PicoPower) - CPU SPEEDS
  1520. Bitfields for AMI (PicoPower) CPU speeds:
  1521. Bit(s) Description (Table C0084)
  1522. 7 suspend warning beeps enabled
  1523. 6-4 "full on" CPU CLK speed
  1524. 000 MAX
  1525. 001 MAX/2
  1526. 010 MAX/4
  1527. 011 MAX/8
  1528. 1-0 power management mode
  1529. 00 disabled
  1530. 01 Auto
  1531. 10 enabled
  1532. SeeAlso: #C0081
  1533. --------p-R5F--------------------------------
  1534. CMOS 5Fh - AMI (PicoPower) - POWER MANAGEMENT TIMEOUTS
  1535. Bitfields for AMI (PicoPower) power management timeouts:
  1536. Bit(s) Description (Table C0085)
  1537. 7 enable battery-low beeps
  1538. 5-3 SUSPEND timeout
  1539. 000 disabled
  1540. 001 5 minutes
  1541. 010 10 minutes
  1542. 011 15 minutes
  1543. 100 20 minutes
  1544. 101 30 minutes
  1545. 110 40 minutes
  1546. 111 60 minutes
  1547. 2-0 DOZE timeout
  1548. 000 disabled
  1549. 100 1 second
  1550. 101 4 seconds
  1551. 110 8 seconds
  1552. 111 16 seconds
  1553. SeeAlso: #C0087
  1554. --------y-R5F--------------------------------
  1555. CMOS 5Fh - AWARD v4.50G - USER PASSWORD CHECKSUM
  1556. SeeAlso: CMOS 5Eh"AWARD"
  1557. --------p-R60--------------------------------
  1558. CMOS 60h - AWARD - POWER MANAGEMENT
  1559. Bitfields for AWARD power management:
  1560. Bit(s) Description (Table C0086)
  1561. 7 ???
  1562. 6 Video Off Method
  1563. 1 = V/H SYNC + Blank (default)
  1564. 0 = Blank Screen
  1565. 4,5 Video Off Option
  1566. 00 = Always On (default)
  1567. 01 = Suspend -> Off
  1568. 10 = Suspend, Standby -> Off
  1569. 11 = All Modes -> Off
  1570. 3 PM Control by APM (1=Yes)
  1571. 2 ???
  1572. 1,0 Power Management Setup
  1573. 00 User Defined
  1574. 01 Disabled (default)
  1575. 10 Minimum Power Savings (40 Minutes for all events)
  1576. 11 Maximum Power Savings (20 Seconds for all events)
  1577. --------p-R60--------------------------------
  1578. CMOS 60h - AMI (PicoPower) - SLEEP TIMEOUT
  1579. Bitfields for AMI (PicoPower) sleep timeout:
  1580. Bit(s) Description (Table C0087)
  1581. 5-3 SLEEP timeout
  1582. 000 disabled
  1583. 001 1 minute
  1584. 010 2 minutes
  1585. 011 3 minutes
  1586. 100 4 minutes
  1587. 101 6 minutes
  1588. 110 8 minutes
  1589. 111 12 minutes
  1590. SeeAlso: #C0085,#C0089
  1591. ----------R6077------------------------------
  1592. CMOS 60h-77h - AMI WinBIOS - PCI chipset-specific setup information
  1593. --------p-R61--------------------------------
  1594. CMOS 61h - AWARD - POWER MANAGEMENT
  1595. Bitfields for AWARD power management:
  1596. Bit(s) Description (Table C0088)
  1597. 7 PM Event on HDD Ports Activity (1=enable)
  1598. 6 PM Event on LPT Port Activity (1=enable)
  1599. 5 PM Event on COM Port Activity (1=enable)
  1600. 4 HDD Power Down on Suspend
  1601. 0-3 HDD Power Down Time
  1602. 0 Disabled
  1603. 1-15 Time in Minutes
  1604. ----------R62--------------------------------
  1605. CMOS 62h - AMI 1990 Hyundai super-NB368S notebook - ???
  1606. FFh when values from bios defaults
  1607. FEh when values from power up defaults
  1608. ----------R62--------------------------------
  1609. CMOS 62h - AMI (Neptune) - number of last PCI bus in system
  1610. SeeAlso: INT 1A/AX=B101h
  1611. --------p-R62--------------------------------
  1612. CMOS 62h - AMI (PicoPower) - HARD-DISK POWERDOWN
  1613. Bitfields for AMI (PicoPower) hard-disk powerdown timeout:
  1614. Bit(s) Description (Table C0089)
  1615. 3-0 hard-disk timeout in minutes (0000 = disabled)
  1616. SeeAlso: #C0087
  1617. --------p-R62--------------------------------
  1618. CMOS 62h - AWARD - POWER MANAGEMENT
  1619. Bitfields for AWARD power management:
  1620. Bit(s) Description (Table C0090)
  1621. 7-4 Standby Mode Setting (for User Defined)
  1622. 0 Disabled
  1623. 1 20 Seconds
  1624. 2 1 Minute
  1625. 3 5 Minutes
  1626. 4 10 Minutes
  1627. 5 15 Minutes
  1628. 6 20 Minutes
  1629. 7 30 Minutes
  1630. 8 40 Minutes
  1631. 0-3 Doze Mode Setting (for User Defined)
  1632. (See Standby Mode above)
  1633. ----------R62--------------------------------
  1634. CMOS 62h - AWARD v4.51pg - BIT FLAGS
  1635. Bitfields for AWARD v4.51pg CMOS 62h:
  1636. Bit(s) Description (Table C0091)
  1637. 0 user password is enabled
  1638. --------p-R63--------------------------------
  1639. CMOS 63h - AWARD - POWER MANAGEMENT
  1640. Bitfields for AWARD power management:
  1641. Bit(s) Description (Table C0092)
  1642. 7 Disable PM Event on IRQ3 Activity (COM2) (1=disable)
  1643. 6 PM Event on VGA Activity (1=enable)
  1644. 5 ??? (Defaults to 1)
  1645. 4 PM Event on PCI/ISA Master Activity (1=enable)
  1646. 0-3 Suspend Mode Setting (for User Defined)
  1647. (See Standby Mode above)
  1648. --------p-R63--------------------------------
  1649. CMOS 63h - AMI (PicoPower) - BATTERY-LOW ACTIONS
  1650. Bitfields for AMI (PicoPower) battery-low actions:
  1651. Bit(s) Description (Table C0093)
  1652. 5-3 battery-very-low action
  1653. 000 MAX
  1654. 001 MAX/2
  1655. 010 MAX/4
  1656. 011 MAX/8
  1657. 100 MAX/16
  1658. 101 MAX/32
  1659. 110 MAX/64
  1660. 111 suspend
  1661. 2-0 battery-low action (same as battery-very-low action)
  1662. ----------R64--------------------------------
  1663. CMOS 64h - AMI 1990 Hyundai super-NB368S notebook - ???
  1664. --------p-R64--------------------------------
  1665. CMOS 64h - AMI (PicoPower) - BATTERY POWER
  1666. Bitfields for AMI (PicoPower) battery power:
  1667. Bit(s) Description (Table C0094)
  1668. 6 extended battery debounce enabled
  1669. 4-3 resume with modem ring
  1670. 00 disabled
  1671. 01 one ring
  1672. 10 two rings
  1673. 11 three rings
  1674. 2 365SL power on during suspend
  1675. 1-0 suspend-mode DRAM refresh cycle
  1676. 00 15 usec
  1677. 01 120 usec (1/8 normal)
  1678. 10 self
  1679. --------p-R64--------------------------------
  1680. CMOS 64h - AWARD - POWER MANAGEMENT - IRQ activity events #1
  1681. SeeAlso: CMOS 65h"AWARD"
  1682. Bitfields for AWARD power management IRQ activity events:
  1683. Bit(s) Description (Table C0095)
  1684. 7 Disable PM Event on IRQ11 Activity (1=disable)
  1685. 6 Disable PM Event on IRQ10 Activity (1=disable)
  1686. 5 Disable PM Event on IRQ9 Activity (IRQ2 Redir) (1=disable)
  1687. 4 Disable PM Event on IRQ8 Activity (RTC Alarm) (1=disable)
  1688. 3 Disable PM Event on IRQ7 Activity (LPT1) (1=disable)
  1689. 2 Disable PM Event on IRQ6 Activity (Floppy) (1=disable)
  1690. 1 Disable PM Event on IRQ5 Activity (LPT2) (1=disable)
  1691. 0 Disable PM Event on IRQ4 Activity (COM1) (1=disable)
  1692. --------p-R65--------------------------------
  1693. CMOS 65h - AWARD - POWER MANAGEMENT - IRQ activity events #2
  1694. SeeAlso: CMOS 64h"AWARD"
  1695. Bitfields for AWARD power management:
  1696. Bit(s) Description (Table C0096)
  1697. 7-4 ??? may be unused. Defaults to all 1's
  1698. 3 Disable PM Event on IRQ15 Activity (1=disable)
  1699. 2 Disable PM Event on IRQ14 Activity (Hard Disk) (1=disable)
  1700. 1 Disable PM Event on IRQ13 Activity (Coprocessor) (1=disable)
  1701. 0 Disable PM Event on IRQ12 Activity (PS/2 Mouse) (1=disable)
  1702. ----------R65--------------------------------
  1703. CMOS 65h - AMI (PicoPower) - PC PIN STAGGER
  1704. Bitfields for AMI (PicoPower) PC pin stagger:
  1705. Bit(s) Description (Table C0097)
  1706. 7-6 PC pin stagger period
  1707. 00 immediate
  1708. 01 4 msec
  1709. 10 16 msec
  1710. 11 64 msec
  1711. --------p-R66--------------------------------
  1712. CMOS 66h - AMI 1990 Hyundai super-NB368S notebook - DOZE MODE TIMEOUT
  1713. Note: doze mode timeout 00-0F, from table (0,12 -14 sec)
  1714. ----------R6679------------------------------
  1715. CMOS 66h-79h - AWARD - ??? unused ???
  1716. Note: Defaults to all FFh's.
  1717. ----------R67--------------------------------
  1718. CMOS 67h - AMI 1990 Hyundai super-NB368S notebook - SLEEP MODE TIMEOUT
  1719. Desc: sleep mode timeout 00-0F, units of 1 second
  1720. ----------R68--------------------------------
  1721. CMOS 68h - AMI 1990 Hyundai super-NB368S notebook - SUSPEND MODE TIMEOUT
  1722. Desc: suspend mode timeout 01-0F, units of 5 minutes
  1723. ----------R686F------------------------------
  1724. CMOS 68h-6Fh - AWARD - IDE hard disk params for first drive on second IDE port
  1725. ----------R69--------------------------------
  1726. CMOS 69h - AMI 1990 Hyundai super-NB368S notebook - LCD MODE TIMEOUT
  1727. Desc: LCD mode timeout 01-0F, units of 1 minute
  1728. ----------R6A--------------------------------
  1729. CMOS 6Ah - AMI 1990 Hyundai super-NB368S notebook - ???
  1730. ----------R7077------------------------------
  1731. CMOS 70h-77h - AWARD - IDE hard disk params for second drive on second IDE port
  1732. ----------R787D------------------------------
  1733. CMOS 78h-7Dh - AMI WinBIOS - used by BIOS as scratch RAM
  1734. ----------R7A--------------------------------
  1735. CMOS 7Ah - AWARD - EXTENDED CMOS CHECKSUM (high byte)
  1736. Note: Award's extended checksum is the arithmetic sum of all the bytes
  1737. from 40h (64 decimal) through 79h (121 decimal). [42h-79h for v4.50G]
  1738. SeeAlso: CMOS 7Bh"AWARD"
  1739. ----------R7B--------------------------------
  1740. CMOS 7Bh - AWARD - EXTENDED CMOS CHECKSUM (low byte)
  1741. Note: Award's extended checksum is the arithmetic sum of all the bytes
  1742. from 40h (64 decimal) through 79h (121 decimal). [42h-79h for v4.50G]
  1743. SeeAlso: CMOS 7Ah"AWARD"
  1744. ----------R7D--------------------------------
  1745. CMOS 7Dh - AMD-645 Clock - DATE ALARM
  1746. Desc: on an AMD-645, this byte specifies the day of the month on which
  1747. the alarm will activate
  1748. SeeAlso: CMOS 01h,CMOS 03h,CMOS 05h,CMOS 7Eh
  1749. ----------R7E--------------------------------
  1750. CMOS 7Eh - AMD-645 Clock - MONTH ALARM
  1751. Desc: on an AMD-645, this byte specifies the month of the year on which
  1752. the alarm will activate
  1753. SeeAlso: CMOS 01h,CMOS 03h,CMOS 05h,CMOS 7Dh
  1754. --------p-R7E7F------------------------------
  1755. CMOS 7Eh-7Fh - AMI WinBIOS - used as scratch RAM by power management code
  1756. ----------R7F--------------------------------
  1757. CMOS 7Fh - AMD-645 Clock - CENTURY
  1758. SeeAlso: CMOS 32h
  1759. ---------------------------------------------
  1760. From arhfond@online.ru Thu Sep 5 21:17:13 1996
  1761. Date: Wed, 28 Aug 1996 22:35:17 +0400
  1762. From: Agapov Vasiliy Pavlovich <arhfond@online.ru>
  1763. To: ralf@telerama.lm.com
  1764. Subject: Re: Ralf Brown's Interrupt List Release 42.
  1765. The problem with CMOS checksum layout for the new motherboards (1995-1996)
  1766. with AWARD, AMIBIOS (also AMIBIOS on Pentium motherboards produced beyond
  1767. 1992) and several others is the following: they have added the second checksum
  1768. for the CMOS area from 40h to 7Ch. Any changes in the area concerned, always
  1769. result in "CMOS checksum failure. Defaults loaded...".
  1770. The problem is that every model of BIOS has its own location of the second
  1771. checksum and its own way of determining it. When you need to change some bytes
  1772. in the area from 40h to 7Ch you ought to determine checksum location. Here's
  1773. the Assembly code that finds out the location of the second CMOS checksum on
  1774. ANY motherboard. I've tested it on more than 10 different motherboards with
  1775. AMIBIOS and AWARD BIOS and it never failed.
  1776. Before starting this code make sure to load the 128 bytes of CMOS
  1777. data to the buffer at CMOS_DATA and assume DS as data area segment register.
  1778. START: CALL WHAT_CMOS
  1779. JC NO_SECOND_CHS
  1780. ; Checksum location is in word at CHECKS_ADDRESS
  1781. NO_SECOND_CHS:
  1782. ; There's no second checksum in this CMOS
  1783. END:
  1784. ;******************************* SUBS **********************************
  1785. WHAT_CMOS: MOV SI,OFFSET CMOS_DATA+40H
  1786. MOV DI,OFFSET CMOS_DATA+7EH
  1787. CALL FIND_CMOS_CHS
  1788. JNC END_WCMOS
  1789. MOV SI,OFFSET CMOS_DATA+41H
  1790. MOV DI,OFFSET CMOS_DATA+7EH
  1791. CALL FIND_CMOS_CHS
  1792. END_WCMOS: RET
  1793. FIND_CMOS_CHS: XOR DX,DX
  1794. MOV AX,DX
  1795. FIND_CMOS_C1: LODSB ; GET BYTE
  1796. ADD DX,AX
  1797. CMP SI,OFFSET CMOS_DATA+7CH ; ADDRESS OF CHECKSUM ?
  1798. JB FIND_CMOS_C1
  1799. XCHG DH,DL
  1800. CMP DX,[SI] ; CHECKSUM FOUND ?
  1801. JZ END_FCMOS
  1802. XCHG DH,DL
  1803. CMP SI,DI
  1804. JB FIND_CMOS_C1
  1805. STC
  1806. RET
  1807. END_FCMOS: MOV [CHECKS_ADDRESS],SI ; SAVE CHECKSUM POSITION
  1808. CLC
  1809. RET
  1810. ******************************** DATA *******************************
  1811. CHECKS_ADDRESS DW 0
  1812. CMOS_DATA DB 128 DUP (?)
  1813. Regards,
  1814. Alexey Podrezov
  1815. 28.08.1996
  1816. --------!---Admin----------------------------
  1817. Highest Table Number = C0097
  1818. --------!---History--------------------------
  1819. Revision History
  1820. v1.26 Sep, 1995 reformatted (Ralf)
  1821. v1.25 June 1995 Added AMI WinBIOS info from Daniel Miller (Ralf)
  1822. v1.24 Jan, 1995 Added Award info from Tim Farley (Ralf)
  1823. v1.23 June, 1994 Added some MCA info from _The_Undocumented_PC_
  1824. v1.22 Feb, 1994 Added NMI mask note
  1825. v1.21 Jan, 1994 Added note for PS/2 checksum found
  1826. v1.20 Sept, 1993 PHOENIX data from Wim Osterholt added
  1827. additional AMI data from Howie (hjh@gwd.dst.gov.au)
  1828. v1.15 June, 1993 AMSTRAD data updated
  1829. v1.1 June, 1993 AMSTRAD & PS/2 data added
  1830. v1.0 June, 1993 First release: Motorola MC 146818, PC-AT & AMI
  1831. "Hi-Flex" information baselined
  1832. --------!---CONTACT_INFO---------------------
  1833. Internet: ralf@pobox.com (currently forwards to ralf@telerama.lm.com)
  1834. FIDO: Ralf Brown 1:129/26.1