home *** CD-ROM | disk | FTP | other *** search
/ Hot Shareware 32 / hot34.iso / ficheros / DTOOL / INTER57D.ZIP / CMOS.LST < prev    next >
File List  |  1998-03-22  |  71KB  |  1,871 lines

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