throbber
from http://moon.inf.uji.es/docs/interr/CMOS/CMOS.HTM
`Wed May  2 21:50:32 EDT 2001
`
`                                    CMOS
`  ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`
`CMOS Memory Map         Release 50                      Last change 5/12/96
`
`Compiled from multiple sources by Padgett Peterson
`Corrections/additions/comments to: padgett@tccslr.dnet.mmc.com
`
`No guarantees of any kind.
`
`Copyrights/Trademarks belong to whoever they may belong to.
`
`Found: Algorithm used by IBM in calculating CRC checksums for PS/2
`       (see bytes 32h‐33h). Complex (recursive part is 12 lines of
`       assembly) and not yet validated for every model.
`‐‐‐‐‐‐‐‐!‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`                        Background
`
`The CMOS (complementary metal oxide semiconductor) memory is actually
`a 64 or 128 byte battery‐backed RAM memory module that is a part of the
`system clock chip. Some IBM PS/2 models have the capability for a
`2k (2048 byte) CMOS ROM Extension.
`
`First used with clock‐calender cards for the IBM PC‐XT, when the PC/AT
`(Advanced Technology) was introduced in 1985, the Motorola MC146818
`became a part of the motherboard. Since the clock only uses fourteen of
`the RAM bytes, the rest are available for storing system configuration data.
`
`Interestingly, the original IBM‐PC/AT (Advanced Technology) standard for
`the region 10h‐3Fh is nearly universal with one notable exception: The
`IBM PS/2 systems deviate considerably (Note: AMSTRAD 8086 machines were
`among the first to actively use the CMOS memory available and since they
`*predate* the AT, do not follow the AT standard).
`
`This is just another example of how IBM created a standard, lost control
`of it, tried to replace it, failed and lost market share in the process.
`
`Originally, the IBM PC/AT only made use of a small portion of CMOS memory
`and was defined in the IBM PC/AT Technical Reference Manual, specifically
`bytes 10h, 12h, 14h‐18h, 2Eh‐33h. The balance was left undefined but was
`quickly appropriated by various BIOS manufacturers for such user‐selectable
`options such as wait states, clock speeds, initial boot drive selection, and
`password storage.
`
`Later, as CMOS memory requirements grew, newer clock chips with 128
`bytes of RAM came into use. However the fact remains that once the AT
`standard was established, only IBM has tried to change the definitions
`of that first description.
`
`                        Accessing the CMOS
`
`The CMOS memory exists outside of the normal address space and cannot
`contain directly executable code. It is reachable through IN and OUT
`commands at port number 70h (112d) and 71h (113d). To read a CMOS byte,
`an OUT to port 70h is executed with the address of the byte to be read and
`an IN from port 71h will then retrieve the requested information. The
`following BASIC fragment will read 128 CMOS bytes and print them to the
`screen in 8 rows of 16 values.
`
`CMOS RAM space has an upper limit of 128 bytes because of the structure
`
`EXHIBIT 2004
`
`

`
`of port 70: only bits 0‐6 are used for addressing, bit 7 is used to
`enable (0) or disable (1) Non‐Maskable Interrupts (NMI) and explains why
`IBM uses 80h OR
` to read/write data & follows with  a "throw‐away"
`call.
`
`Note that if the CMOS only has 64 bytes available, addressing will
`generally wrap and addresses from 40h‐7Fh will mirror 00h‐3Fh. Output will
`be hexadecimal.
`
`10 CLS
`20 FOR i = 0 TO &H7F
`30 OUT &H70, i
`40 PRINT USING "\   \"; HEX$(INP(&H71));
`50 NEXT i
`60 PRINT " "
`
`Note: where not otherwise noted, all data points are expressed as BYTES
`      these are eight bit values and are read from MSB to LSB e.g.
`      0000 0000     0101 1010 binary would be written as 5Ah
`      7654 3210     where only some bits are used this is represented with
`                    Xs e.g bits 5‐3 would be shown as 00xx x000
`
`Note: the entries for AMI WinBIOS also apply to AMIBIOS with core dates of
`        12/15/95 or later
`
`‐‐‐‐‐‐‐‐!‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`                Organization of CMOS Memory ‐ Clock
`
`00h‐0Eh is defined by the clock hardware and all must follow it. Other
`manufacturers generally follow the same format as specified for the
`region 10h ‐ 2Fh. Some also follow the IBM format for 30h‐33h but not all
`(Zenith in particular is different).
`
`The first fourteen bytes are dedicated to the MC146818 chip clock functions
`and consist of ten read/write data registers and four status registers, two
`of which are read/write and two of which are read only.
`
`The format of the ten clock data registers (bytes 00h‐09h) is:
`
`‐‐‐‐‐‐‐‐‐‐R00‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 00h ‐ RTC ‐ SECONDS
`Desc:   (BCD 00‐59, Hex 00‐3B)
`Note: Bit 7 is read only
`SeeAlso: CMOS 01h,CMOS 02h,CMOS 04h
`‐‐‐‐‐‐‐‐‐‐R01‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 01h ‐ RTC ‐ SECOND ALARM
`Desc:   (BCD 00‐59, Hex 00‐3B; "don't care" if C0‐FF)
`SeeAlso: CMOS 00h,CMOS 03h,CMOS 05h
`‐‐‐‐‐‐‐‐‐‐R02‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 02h ‐ RTC ‐ MINUTES
`Desc:   (BCD 00‐59, Hex 00‐3B)
`SeeAlso: CMOS 00h,CMOS 03h,CMOS 04h
`‐‐‐‐‐‐‐‐‐‐R03‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 03h ‐ RTC ‐ MINUTE ALARM
`Desc:   (BCD 00‐59, Hex 00‐3B; "don't care" if C0‐FF))
`SeeAlso: CMOS 00h,CMOS 02h,CMOS 05h
`‐‐‐‐‐‐‐‐‐‐R04‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 04h ‐ RTC ‐ HOURS
`Desc:   (BCD 00‐23, Hex 00‐17 if 24 hr mode)
`        (BCD 01‐12, Hex 01‐0C if 12 hr am)
`        (BCD 81‐92. Hex 81‐8C if 12 hr pm)
`SeeAlso: CMOS 00h,CMOS 02h,CMOS 05h
`‐‐‐‐‐‐‐‐‐‐R05‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 05h ‐ RTC ‐ HOUR ALARM
`
`EXHIBIT 2004
`
`

`
`Desc:   (same as hours; "don't care" if C0‐FF))
`SeeAlso: CMOS 01h,CMOS 03h,CMOS 04h
`‐‐‐‐‐‐‐‐‐‐R06‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 06h ‐ RTC ‐ DAY OF WEEK
`Desc:   (01‐07 Sunday=1)
`SeeAlso: CMOS 07h,CMOS 08h,CMOS 09h
`‐‐‐‐‐‐‐‐‐‐R07‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 07h ‐ RTC ‐ DATE OF MONTH
`Desc:   (BCD 01‐31, Hex 01‐1F)
`SeeAlso: CMOS 06h,CMOS 08h,CMOS 09h
`‐‐‐‐‐‐‐‐‐‐R08‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 08h ‐ RTC ‐ MONTH
`Desc:   (BCD 01‐12, Hex 01‐0C)
`SeeAlso: CMOS 06h,CMOS 07h,CMOS 09h
`‐‐‐‐‐‐‐‐‐‐R09‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 09h ‐ RTC ‐ YEAR
`Desc:   (BCD 00‐99, Hex 00‐63)
`Notes:  BCD/Hex selection depends on Bit 2 of register B (0Bh)
`        12/24 Hr selection depends on Bit 1 of register B (0Bh)
`        Alarm will trigger when contents of all three Alarm byte registers
`          match their companions.
`SeeAlso: CMOS 06h,CMOS 07h,CMOS 08h
`
`The following is the on‐chip status register information.
`
`‐‐‐‐‐‐‐‐‐‐R0A‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 0Ah ‐ RTC ‐ STATUS REGISTER A (read/write) (usu 26h)
`
`Bitfields for Real‐Time Clock status register A:
`Bit(s)  Description     (Table C001)
` 7      =1 time update cycle in progress, data ouputs undefined
`        (bit 7 is read only)
` 6‐4    22 stage divider
`        010 = 32768 Hz time base (default)
` 3‐0    rate selection bits for interrupt
`        0000 none
`        0011 122 microseconds (minimum)
`        1111 500 milliseconds
`        0110 976.562 microseconds (default 1024 Hz)
`SeeAlso: #C002,#C003,#C004
`‐‐‐‐‐‐‐‐‐‐R0B‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 0Bh ‐ RTC ‐ STATUS REGISTER B (read/write)
`
`Bitfields for Real‐Time Clock status register B:
`Bit(s)  Description     (Table C002)
` 7      enable cycle update
` 6      enable periodic interrupt
` 5      enable alarm interrupt
` 4      enable update‐ended interrupt
` 3      enable square wave output
` 2      Data Mode ‐ 0: BCD, 1: Binary
` 1      24/12 hour selection ‐ 1 enables 24 hour mode
` 0      Daylight Savings Enable ‐ 1 enables
`SeeAlso: #C001,#C003,#C004
`‐‐‐‐‐‐‐‐‐‐R0C‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 0Ch ‐ RTC ‐ STATUS REGISTER C (Read only)
`
`Bitfields for Real‐Time Clock status register C:
`Bit(s)  Description     (Table C003)
` 7      Interrupt request flag
`        =1 when any or all of bits 6‐4 are 1 and appropriate enables
`          (Register B) are set to 1. Generates IRQ 8 when triggered.
` 6      Periodic Interrupt flag
` 5      Alarm Interrupt flag
` 4      Update‐Ended Interrupt Flag
`
`EXHIBIT 2004
`
`

`
` 3‐0    unused???
`SeeAlso: #C001,#C002,#C004
`‐‐‐‐‐‐‐‐‐‐R0D‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 0Dh ‐ RTC ‐ STATUS REGISTER D (read only)
`
`Bitfields for Real‐Time Clock status register D:
`Bit(s)  Description     (Table C004)
` 7      Valid RAM ‐ 1 indicates batery power good, 0 if dead or disconnected.
` 6‐0    unused??? (0)
`‐‐‐‐‐‐‐‐!‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`                Organization of CMOS Memory ‐ non‐Clock
`
`The last two bytes in the first hexadecimal decade (hexade ?) were not
`specified in the PC/AT but may have the following use on some systems:
`‐‐‐‐‐‐‐‐‐‐R0E‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 0Eh  ‐ IBM PS/2 ‐ DIAGNOSTIC STATUS BYTE
`
`Bitfields for IBM PS/2 diagnostic status byte:
`Bit(s)  Description     (Table C005)
` 7      indicates clock has lost power
` 6      incorrect checksum
` 5      equipment configuration is incorrect
`          (power‐on check requires that atleast one floppy be installed)
` 4      error in memory size
` 3      controller or disk drive failed initialization
` 2      time is invalid
` 1      installed adaptors do not match configuration
` 0      time‐out while reading adaptor ID
`‐‐‐‐‐‐‐‐‐‐R0E13‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 0Eh‐13h ‐ AMSTRAD ‐ TIME AND DATE MACHINE LAST USED
`‐‐‐‐‐‐‐‐‐‐R0F‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 0Fh ‐ IBM ‐ RESET CODE (IBM PS/2 "Shutdown Status Byte")
`
`(Table C006)
`Values for Reset Code / Shutdown Status Byte:
` 00h‐03h perform power‐on reset
`   00h  software reset or unexpected reset
`   01h  reset after memory size check in real/virtual mode
`        (or: chip set initialization for real mode reentry)
`   02h  reset after successful memory test in real/virtual mode
`   03h  reset after failed memory test in real/virtual mode
` 04h    INT 19h reboot
` 05h    flush keyboard (issue EOI) and jump via 40h:0067h
` 06h    reset (after successful test in virtual mode)
`        (or: jump via 40h:0067h without EOI)
` 07h    reset (after failed test in virtual mode)
` 08h    used by POST during protected‐mode RAM test (return to POST)
` 09h    used for INT 15/87h (block move) support
` 0Ah    resume execution by jump via 40h:0067h
` 0Bh    resume execution via IRET via 40h:0067h
` 0Ch    resume execution via RETF via 40h:0067h
` 0Dh‐FFh perform power‐on reset
`‐‐‐‐‐‐‐‐!‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`
`The second group of values extends from address 10h to 2Dh. The word at
`2Eh‐2Fh is a byte‐wise summation of the values in these bytes. Most BIOSes
`will generate a CMOS Checksum error if this value is invalid however many
`programs ignore the checksum and report the apparent value. The current
`version of MSD reports my XT as having 20+ MB of extended memory.
`
`Where a definiton appears universal, no identification is made. Where
`the definition is thought to be specific to a manufacturer/model (AMI,
`AMSTRAD, IBM AT, IBM PS/2) the identification is enclosed in parens. The
`AMSTAD definitions appear to relate to 8088/8086 (PC and PC/XT class)
`mchines only. AT class machines appear to adhere to IBM PC/AT fornat.
`
`EXHIBIT 2004
`
`

`
`‐‐‐‐‐‐‐‐‐‐R10‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 10h ‐ IBM ‐ FLOPPY DRIVE TYPE
`Note:   a PC having a 5 1/4 1.2 Mb A: drive and a 1.44 Mb B: drive will
`          have a value of 24h in byte 10h. With a single 1.44 drive: 40h.
`
`Bitfields for floppy drives A/B types:
`Bit(s)  Description     (Table C007)
` 7‐4    first floppy disk drive type (see #C008)
` 3‐0    second floppy disk drive type (see #C008)
`
`(Table C008)
`Values for floppy drive type:
` 00h    no drive
` 01h    360 KB 5.25 Drive
` 02h    1.2 MB 5.25 Drive ‐ note: not listed in PS/2 technical manual
` 03h    720 KB 3.5 Drive
` 04h    1.44 MB 3.5 Drive
` 05h    2.88 MB 3.5 drive
` 06h‐0Fh unused
`SeeAlso: #C007
`‐‐‐‐‐‐‐‐‐‐R11‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 11h ‐ IBM PS/2 ‐ FIRST FIXED DISK DRIVE TYPE BYTE (00‐FFh)
`Note:   if IBM ESDI or SCSI drive controller is used, CMOS drive type will be
`          zero (00 ‐ no drive) and INT 13h will be directed to controller ROM.
`‐‐‐‐‐‐‐‐‐‐R11‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 11h ‐ older AMI Hi‐Flex BIOS ‐ KEYBOARD TYPEMATIC DATA
`
`Bitfields for AMI Hi‐Flex BIOS keyboard typematic data:
`Bit(s)  Description     (Table C009)
` 7      enable Typematic
` 6‐5    Typematic Delay (wait before begin repeating)
`        00b 250 ms
`        01b 500 ms
`        10b 750 ms
`        11b 100 ms
` 4‐0    Typematic Rate (char/sec)
`        00000b ‐ 30.0    01000b ‐ 15.9  10000b ‐ 7.5  11000b ‐ 3.7
`        00001b ‐ 26.7    01001b ‐ 13.3  10001b ‐ 6.7  11001b ‐ 3.3
`        00010b ‐ 24.0    01010b ‐ 12.0  10010b ‐ 6.0  11010b ‐ 3.0
`        00011b ‐ 21.8    01011b ‐ 10.9  10011b ‐ 5.5  11011b ‐ 2.7
`        00100b ‐ 20.0    01100b ‐ 10.0  10100b ‐ 5.0  11100b ‐ 2.5
`        00101b ‐ 18.5    01101b ‐  9.2  10101b ‐ 4.6  11101b ‐ 2.3
`        00110b ‐ 17.1    01110b ‐  8.6  10110b ‐ 4.3  11110b ‐ 2.1
`        00111b ‐ 16.0    01111b ‐  8.0  10111b ‐ 4.0  11111b ‐ 2.0
`‐‐‐‐‐‐‐‐‐‐R11‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 11h ‐ AMI ‐ ADVANCED SETUP OPTIONS
`
`Bitfields for AMI advanced setup options:
`Bit(s)  Description     (Table C010)
` 7      mouse enabled
` 6      test memory above 1 megabyte
` 5      generate clicks during memory test
` 4      enable memory parity check
` 3      display key for Setup while booting
` 2      store user‐defined disk data at top of memory instead of 0030h:0000h
` 1      request F1 keypress on boot error
`‐‐‐‐‐‐‐‐‐‐R11‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 11h ‐ AMI WinBIOS ‐ BOOT OPTIONS
`SeeAlso: CMOS 13h"AMI"
`
`Bitfields for AMI WinBIOS boot options:
`Bit(s)  Description     (Table C011)
` 7      systems boots with high CPU speed
` 6      memory test above 1MB enabled
`
`EXHIBIT 2004
`
`

`
` 5      memory test tick sound enabled
` 4      floppy drive seek at boot enabled
` 3      "Hit " message enabled
` 2      BIOS extended RAM area takes 1K at top of memory instead of 30h:0000h
` 1      wait for F1 key on error
` 0      NumLock enabled at boot
`‐‐‐‐‐‐‐‐‐‐R11‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 11h ‐ AWARD ‐ CONFIGURATION BITS
`
`Bitfields for AWARD configuration bits:
`Bit(s)  Description     (Table C012)
` 7      NumLock ON at reboot
` 6      IDE Block Mode enabled
` 5      ???
` 4      Shadow ROM BIOS at CC00‐CFFF
` 3      Shadow ROM BIOS at C800‐CBFF
` 2      ???
` 1      BIOS Password Enabled
` 0      0 = Password controls BIOS Setup Only
`        1 = Password required to enter System
`‐‐‐‐‐‐‐‐‐‐R11‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 11h ‐ Quadtel HT12 BIOS 03.05.03 ‐ CONFIGURATION BITS
`
`Bitfields for Quadtel HT12 configuration bits:
`Bit(s)  Description     (Table C013)
` 7      640K RAM present
` 6      extension type (=CPU's Machine Status Word)
` 3‐2    NumLock state at boot time
`        00 Auto
`        01 NumLock on
`        10 Numlock off
` 0      384K RAM relocated to top of memory
`‐‐‐‐‐‐‐‐‐‐R12‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 12h ‐ IBM ‐ HARD DISK DATA
`Notes:  A PC with a single type 2 (20 Mb ST‐225) hard disk will have 20h in
`          byte 12h
`        some PCs utilizing external disk controller ROMs will use type 0 to
`          disable ROM BIOS (e.g. Zenith 248 with Plus HardCard).
`
`Bitfields for IBM hard disk data:
`Bit(s)  Description     (Table C014)
` 7‐4    First Hard Disk Drive
`        00      No drive
`        01‐0Eh  Hard drive Type 1‐14
`        0Fh     Hard Disk Type 16‐255
`                (actual Hard Drive Type is in CMOS RAM 19h)
` 3‐0    Second Hard Disk Drive Type
`        (same as first except extrnded type will be found in 1Ah).
`‐‐‐‐‐‐‐‐‐‐R12‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 12h ‐ IBM PS/2 ‐ SECOND FIXED DISK DRIVE TYPE (00‐FFh)
`SeeAlso: CMOS 11h"IBM PS/2"
`‐‐‐‐‐‐‐‐‐‐R13‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 13h ‐ AMI Hi‐Flex BIOS ‐ ADVANCED SETUP OPTIONS
`SeeAlso: CMOS 11h"WinBIOS"
`
`Bitfields for AMI Hi‐Flex BIOS advanced setup options:
`Bit(s)  Description     (Table C015)
` 7      Mouse Enabled (1 = On)
` 6      Test Memory above 1 MB (1 = On)
` 5      Memory Test Tick Sound (1 = On)
` 4      Memory Parity Error Check (1 = On)
` 3      Press  to Disable Memory Test (1 = On)
` 2      User‐Defined Hard Disk (1 = Type 47 data area at address 0:300h)
` 1      Wait for  Message if Error (1 = On)
` 0      Turn Num Lock On at boot (1 = On)
`
`EXHIBIT 2004
`
`

`
`‐‐‐‐‐‐‐‐‐‐R13‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 13h ‐ AMI WinBIOS ‐ PERIPHERAL OPTIONS
`
`Bitfields for AMI WinBIOS peripheral options:
`Bit(s)  Description     (Table C016)
` 7‐5    typematic rate
`        000‐111 = 6,8,10,12,15,20,24,30 cps
` 4      numeric processor test enabled
`‐‐‐‐‐‐‐‐‐‐R13‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 13h ‐ PS/2 MCA ‐ INTERNAL POST OPERATIONS
`
`Bitfields for PS/2 MCA internal POST operations:
`Bit(s)  Description     (Table C017)
` 7      POST sets VGA pel information
` 6      RTC battery OK
` 5      invoke ROM BASIC from POST
` 4      POST sets typematic to 30cps/250ms delay instead of 10.9cps/500ms
` 3‐2    unused or unknown
` 1      network password installed
` 0      power‐on password installed
`‐‐‐‐‐‐‐‐‐‐R13‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 13h ‐ AWARD ‐ Configuration Bits
`
`Bitfields for AWARD configuration bits:
`Bit(s)  Description     (Table C018)
` 7      set keyboard typematic rate
` 4‐6    keyboard repeat rate
`        000 =  6 cps
`        001 =  8 cps
`        010 = 10 cps
`        011 = 12 cps
`        100 = 15 cps
`        101 = 20 cps
`        110 = 24 cps
`        111 = 30 cps
` 2‐3    keyboard typematic delay
`        00 =  250 Msec
`        01 =  500 Msec
`        10 =  750 Msec
`        11 = 1000 Msec
` 1      ???
` 0      boot up floppy seek
`‐‐‐‐‐‐‐‐‐‐R14‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 14h ‐ IBM ‐ EQUIPMENT BYTE
`
`Bitfields for IBM equipment byte:
`Bit(s)  Description     (Table C019)
` 7‐6    number of floppy drives (system must have at least one)
`        00b   1 Drive
`        01b   2 Drives
`        10b ??? 3 Drives
`        11b ??? 4 Drives
` 5‐4    monitor type
`        00b Not CGA or MDA (observed for EGA & VGA)
`        01b 40x25 CGA
`        10b 80x25 CGA
`        11b MDA (Monochrome)
` 3      display enabled (turned off to enable boot of rackmount)
` 2      keyboard enabled (turn off to enable boot of rackmount)
` 1      math coprocessor installed
` 0      floppy drive installed (turned off for rackmount boot)
`‐‐‐‐‐‐‐‐‐‐R14‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 14h ‐ AMSTRAD ‐ BYTE user RAM checksum
`Desc:   LSB of sum of all user bytes should be AAh
`‐‐‐‐‐‐‐‐‐‐R15‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`
`EXHIBIT 2004
`
`

`
`CMOS 15h ‐ IBM ‐ BASE MEMORY IN KB (low byte)
`‐‐‐‐‐‐‐‐‐‐R15‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 15h ‐ AMSTRAD ‐ WORD Enter key scancode/ASCII code
`Note:   default: 1C0Dh  ‐ emulates Return key
`‐‐‐‐‐‐‐‐‐‐R16‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 16h ‐ IBM ‐ BASE MEMORY IN KB (high byte)
`Note:   The value in 15h‐16h should be the same as in 0:413h and that
`          returned by INT 12h. A PC having 640k (280h) of conventional
`          memory will return 80h in byte 15h and 02h in byte 16h.
`‐‐‐‐‐‐‐‐‐‐R17‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 17h ‐ IBM ‐ EXTENDED MEMORY IN KB (low byte)
`‐‐‐‐‐‐‐‐‐‐R17‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 17h ‐ AMSTRAD ‐ WORD Forward delete key scancode/ASCII code
`Note:   default: 2207h  ‐ emulates ^G (bell/beep)
`‐‐‐‐‐‐‐‐‐‐R18‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 18h ‐ IBM ‐ EXTENDED MEMORY IN KB (high byte)
`Notes:  some systems will only accommodate 15 MB extended (16 MB total)
`        Format is the same as in 15h‐16h
`‐‐‐‐‐‐‐‐‐‐R19‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 19h ‐ IBM ‐ FIRST EXTENDED HARD DISK DRIVE TYPE
`Note:   not in original AT specification but now nearly universally used
`          except for PS/2.
`
`(Table C020)
`Values for extended hard disk drive type:
`  00‐0Fh unused (would not require extension. Note: this has the effect of
`          making type 0Fh (15d) unavailable.
`  10h‐FFh First Extended Hard Drive Type 16d‐255d
`Note: For most manufacturers the last drive type (typically either 47d or 49d)
`        is "user defined" and parameters are stored elsewhere in the CMOS.
`‐‐‐‐‐‐‐‐‐‐R19‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 19h ‐ MCA ‐ SLOT 0 ADAPTER CARD ID
`‐‐‐‐‐‐‐‐‐‐R19‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 19h ‐ AMI ‐ ???
`
`Bitfields for AMI location 19h:
`Bit(s)  Description     (Table C021)
` 3‐0    ???
` 7‐4    ???
`‐‐‐‐‐‐‐‐‐‐R191A‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 19h‐1Ah ‐ AMSTRAD ‐ Joystick fire button 1 scancode/ASCII code
`Note:   default: FFFFh  ‐ (no translation)
`‐‐‐‐‐‐‐‐‐‐R1A‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Ah ‐ SECOND EXTENDED HARD DISK DRIVE TYPE
`SeeAlso: CMOS 19h"IBM",#C020
`‐‐‐‐‐‐‐‐‐‐R1A‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Ah ‐ MCA ‐ SLOT 0 ADAPTER CARD ID
`‐‐‐‐‐‐‐‐‐‐R1B‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Bh ‐ MCA ‐ SLOT 1 ADAPTER CARD ID
`‐‐‐‐‐‐‐‐‐‐R1B‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Bh ‐ AMI ‐ First Hard Disk (type 47) user defined: # of Cylinders, LSB
`‐‐‐‐‐‐‐‐‐‐R1B1C‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Bh‐1Ch ‐ AMSTRAD ‐ Joystick fire button 2 scancode/ASCII code
`Note:   default: FFFFh  ‐ (no translation)
`‐‐‐‐‐‐‐‐‐‐R1B‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Bh ‐ PHOENIX ‐ LSB of Word to 82335 RC1 roll compare register
`‐‐‐‐‐‐‐‐‐‐R1B‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Bh ‐ AWARD ‐ CONFIGURATION BITS
`
`Bitfields for AWARD shadow RAM configuration bits:
`Bit(s)  Description     (Table C022)
` 7‐4    ???
` 3      Shadow ROM BIOS at DC00‐DFFF
` 2      shadow      "    "   " D800‐DBFF
` 1      shadow      "    "   " D400‐D7FF
`
`EXHIBIT 2004
`
`

`
` 0      shadow      "    "   " D000‐D3FF
`‐‐‐‐‐‐‐‐‐‐R1C‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Ch ‐ MCA ‐ SLOT 1 ADAPTER CARD ID
`‐‐‐‐‐‐‐‐‐‐R1C‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Ch ‐ AMI ‐ First Hard Disk user defined: # of Cylinders, High Byte
`‐‐‐‐‐‐‐‐‐‐R1C‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Ch ‐ PHOENIX ‐ MSB of Word to 82335 RC1 roll compare register
`‐‐‐‐‐‐‐‐‐‐R1C‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Ch,1Dh ‐ AWARD ‐ Password
`Note:   Stored as a checksum or CRC using unknown algorithm.  (See byte 11h
`          to enable)
`‐‐‐‐‐‐‐‐‐‐R1D‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Dh ‐ MCA ‐ SLOT 2 ADAPTER CARD ID
`‐‐‐‐‐‐‐‐‐‐R1D‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Dh ‐ AMI ‐ First Hard Disk user defined: Number of Heads
`‐‐‐‐‐‐‐‐‐‐R1D‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Dh ‐ AMSTRAD ‐ WORD mouse button 1 scancode/ASCII code
`Note:   default: FFFFh  ‐ (no translation)
`‐‐‐‐‐‐‐‐‐‐R1D‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Dh ‐ Zenith Z‐200 monitor ‐ BOOT DRIVE SELECTION
`
`Bitfields for Zenith Z‐200 boot drive selection:
`Bit(s)  Description     (Table C023)
` 6‐5    (0xx0 0000)
`        00 ‐ MFM Monitor
`        01 ‐ First floppy drive (A:)
`        10 ‐ First fixed disk (C:)
`        11 ‐ First floppy drive (A:). If not there then First fixed disk (C:)
`                (this is the default).
`‐‐‐‐‐‐‐‐‐‐R1D‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Dh ‐ PHOENIX ‐ LSB of Word to 82335 RC2 roll compare register
`‐‐‐‐‐‐‐‐‐‐R1D‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Dh ‐ AWARD ‐ MSB of password checksum (see byte 1Ch)
`‐‐‐‐‐‐‐‐‐‐R1D‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Dh ‐ Quadtel HT 12 BIOS ‐ first user def. drive: # of cylinders low byte
`‐‐‐‐‐‐‐‐‐‐R1E‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Eh ‐ MCA ‐ SLOT 2 ADAPTER CARD ID
`‐‐‐‐‐‐‐‐‐‐R1E‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Eh ‐ AMI ‐ First Hard Disk user defined: WPC‐low
`Desc:   Write Precompensation Cylinder, Low Byte, for first user‐defined hard
`          disk
`‐‐‐‐‐‐‐‐‐‐R1E‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Eh ‐ PHOENIX ‐ MSB of Word to 82335 RC2 roll compare register
`‐‐‐‐‐‐‐‐‐‐R1E‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Eh ‐ AWARD ‐ 2nd Hard Disk user defined: # of Cylinders Low Byte
`‐‐‐‐‐‐‐‐‐‐R1E‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Eh ‐ Quadtel HT 12 BIOS ‐ FIRST USER DEFINED DRIVE
`
`Bitfields for Quadtel HT‐12 user‐defined drive heads/cylinders:
`Bit(s)  Description     (Table C024)
` 7‐4    number of heads
` 3‐0    number of cylinders (MSB)
`‐‐‐‐‐‐‐‐‐‐R1F‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Fh ‐ MCA ‐ SLOT 3 ADAPTER CARD ID
`‐‐‐‐‐‐‐‐‐‐R1F‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Fh ‐ AMI ‐ First Hard Disk user defined: WPC‐high
`Desc:   Write Precompensation Cylinder, high byte, for first user‐defined
`          hard disk
`‐‐‐‐‐‐‐‐‐‐R1F‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Fh ‐ AMSTRAD ‐ WORD mouse button 2 scancode/ASCII code
`Note:   default: FFFFh  ‐ (no translation)
`‐‐‐‐‐‐‐‐‐‐R1F‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Fh ‐ AWARD ‐ 2nd Hard Disk user defined (type 48): # of Cylinders High
`‐‐‐‐‐‐‐‐‐‐R1F‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 1Fh ‐ Quadtel HT 12 BIOS ‐ first user def. drive: WPC‐low
`
`EXHIBIT 2004
`
`

`
`Desc:   Write Precompensation Cylinder, low byte, for first user‐defined
`          hard disk
`‐‐‐‐‐‐‐‐‐‐R20‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 20h ‐ MCA ‐ SLOT 3 ADAPTER CARD ID
`‐‐‐‐‐‐‐‐‐‐R20‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 20h ‐ AMI ‐ First Hard Disk user defined: Control Byte
`
`Bitfields for AMI user‐defined hard disk control byte:
`Bit(s)  Description     (Table C025)
` 7‐6    no retries (1)
` 5      bad sector map at last cylinder+1
` 4      unused (0)
` 3      more than 8 heads
` 2‐0    unused (0)
`‐‐‐‐‐‐‐‐‐‐R20‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 20h ‐ AMI WinBIOS ‐ First Hard Disk user defined: Landing Zone, Low Byte
`‐‐‐‐‐‐‐‐‐‐R20‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 20h ‐ PHOENIX ‐ First user defined hard disk (type 48) Cylinders LSB
`‐‐‐‐‐‐‐‐‐‐R20‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 20h ‐ AWARD ‐ 2nd Hard Disk user defined (type 48): Number of Heads
`‐‐‐‐‐‐‐‐‐‐R20‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 20h ‐ Quadtel HT 12 BIOS ‐ FIRST USER DEFINED DRIVE
`SeeAlso: CMOS 26h"Quadtel"
`
`Bitfields for Quadtel landing zone/write‐precompensation:
`Bit(s)  Description     (Table C026)
` 7‐4    landing zone MSB
` 3‐0    write precom. cyl. MSB
`‐‐‐‐‐‐‐‐‐‐R21‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 21h ‐ MCA ‐ Programmable Option Select configuration byte 2
`‐‐‐‐‐‐‐‐‐‐R21‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 21h ‐ AMI ‐ First Hard Disk user defined: Landing Zone, Low Byte
`‐‐‐‐‐‐‐‐‐‐R21‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 21h ‐ AMI WinBIOS ‐ First Hard Disk user defined: Landing Zone, High Byte
`‐‐‐‐‐‐‐‐‐‐R21‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 21h ‐ AMSTRAD ‐ MOUSE X SCALING FACTOR
`Note:   default: 0Ah
`‐‐‐‐‐‐‐‐‐‐R21‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 21h ‐ PHOENIX ‐ First user defined hard disk (type 48) Cylinders MSB
`‐‐‐‐‐‐‐‐‐‐R21‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 21h ‐ AWARD ‐ 2nd Hard Disk user defined (type 48): Write Precomp Low Byte
`‐‐‐‐‐‐‐‐‐‐R21‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 21h ‐ Quadtel HT 12 BIOS ‐ first user def. drive: landing zone low byte
`‐‐‐‐‐‐‐‐‐‐R22‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 22h ‐ MCA ‐ Programmable Option Select configuration byte 3
`‐‐‐‐‐‐‐‐‐‐R22‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 22h ‐ AMI ‐ First Hard Disk user defined: Landing Zone, High Byte
`‐‐‐‐‐‐‐‐‐‐R22‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 22h ‐ AMI WinBIOS ‐ First Hard Disk user defined: # of Sectors per track
`‐‐‐‐‐‐‐‐‐‐R22‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 22h ‐ AMSTRAD ‐ MOUSE Y SCALING FACTOR
`Note:   default: 0Ah
`‐‐‐‐‐‐‐‐‐‐R22‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 22h ‐ PHOENIX ‐ First user defined hard disk (type 48)      of Heads
`‐‐‐‐‐‐‐‐‐‐R22‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 22h ‐ AWARD ‐ 2nd Hard Disk user defined (type 48): Write Precomp High Byte
`‐‐‐‐‐‐‐‐‐‐R22‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 22h ‐ Quadtel HT 12 BIOS ‐ first user def. drive: sectors per track
`‐‐‐‐‐‐‐‐‐‐R23‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 23h ‐ MCA ‐ Programmable Option Select configuration byte 4
`‐‐‐‐‐‐‐‐‐‐R23‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 23h ‐ AMI ‐ First Hard Disk user defined: # of Sectors per track
`‐‐‐‐‐‐‐‐‐‐R23‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 23h ‐ AMI WinBIOS ‐ Second Hard Disk user defined: # Cylinders, Low Byte
`‐‐‐‐‐‐‐‐‐‐R23‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`
`EXHIBIT 2004
`
`

`
`CMOS 23h ‐ AMSTRAD ‐ INITIAL VDU MODE AND DRIVE COUNT
`Note:   default: 20h
`
`Bitfields for Amstrad initial VDU mode/drive count:
`Bit(s)  Description     (Table C027)
` 7      enables extended serial flow control (NB this is buggy)
` 6      set if two floppy drives installed
` 5‐4    (from Amstrad 1640 tech ref)
`        00    Internal video adapter
`        01    CGA card added; 40 x 25 mode
`        10    CGA card added; 80 x 25 mode
`        11    mono card added; 80 x 25 mode
`‐‐‐‐‐‐‐‐‐‐R23‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 23h ‐ PHOENIX ‐ First user defined hard disk (type 48) Write Precomp. LSB
`‐‐‐‐‐‐‐‐‐‐R23‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 23h ‐ AWARD ‐ 2nd Hard Disk user defined (type 48): Landing Zone Low Byte
`‐‐‐‐‐‐‐‐‐‐R23‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 23h ‐ Quadtel HT 12 BIOS ‐ second user def. drive: # of cylinders low byte
`‐‐‐‐‐‐‐‐‐‐R24‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 24h ‐ MCA ‐ Programmable Option Select configuration byte 5
`‐‐‐‐‐‐‐‐‐‐R24‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 24h ‐ AMI ‐ Second Hard Disk user defined: # Cylinders, Low Byte
`‐‐‐‐‐‐‐‐‐‐R24‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 24h ‐ AMI WinBIOS ‐ Second Hard Disk user defined: # Cylinders, High Byte
`‐‐‐‐‐‐‐‐‐‐R24‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 24h ‐ AMSTRAD ‐ INITIAL VDU CHARACTER ATTRIBUTE
`Note: default: 7h
`‐‐‐‐‐‐‐‐‐‐R24‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 24h ‐ PHOENIX ‐ First user defined hard disk (type 48) Write Precomp. MSB
`‐‐‐‐‐‐‐‐‐‐R24‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 24h ‐ AWARD ‐ 2nd Hard Disk user defined (type 48): Landing Zone High Byte
`‐‐‐‐‐‐‐‐‐‐R24‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 24h ‐ Quadtel HT 12 BIOS ‐ SECOND USER DEFINED DRIVE
`SeeAlso: CMOS 1Eh"Quadtel",#C024
`‐‐‐‐‐‐‐‐‐‐R25‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 25h ‐ AMI ‐ Second Hard Disk user defined: # of Cylinders, High Byte
`‐‐‐‐‐‐‐‐‐‐R25‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 25h ‐ AMI WinBIOS ‐ Second Hard Disk user defined: Number of Heads
`‐‐‐‐‐‐‐‐‐‐R25‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 25h ‐ AMSTRAD ‐ size of RAM disk in 2K blocks
`Note:   default: 0  ‐ only used by the RAMDISK software supplied.
`‐‐‐‐‐‐‐‐‐‐R25‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 25h ‐ PHOENIX ‐ First user defined hard disk (type 48) Parking zone LSB
`‐‐‐‐‐‐‐‐‐‐R25‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 25h ‐ AWARD ‐ 2nd Hard Disk user defined (type 48): Sectors per Track
`‐‐‐‐‐‐‐‐‐‐R25‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 25h ‐ Quadtel HT 12 BIOS ‐ second user def. drive: WPC‐low
`Desc:   Write Precompensation Cylinder, low byte
`‐‐‐‐‐‐‐‐‐‐R26‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 26h ‐ AMI ‐ Second Hard Disk user defined: Number of Heads
`‐‐‐‐‐‐‐‐‐‐R26‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 26h ‐ AMI WinBIOS ‐ Second Hard Disk user defined: WPC‐low
`Desc:   Write Precompensation Cylinder, Low Byte
`‐‐‐‐‐‐‐‐‐‐R26‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 26h ‐ AMSTRAD ‐ INITIAL SYSTEM UART SETUP BYTE
`Note:   default: E3h ‐ format as for Int 14h fn 0
`‐‐‐‐‐‐‐‐‐‐R26‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 26h ‐ PHOENIX ‐ First user defined hard disk (type 48) Parking zone MSB
`‐‐‐‐‐‐‐‐‐‐R26‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 26h ‐ AWARD ‐ 1st Hard Disk user defined (type 49): # Cylinders, Low Byte
`‐‐‐‐‐‐‐‐‐‐R26‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 26h ‐ Quadtel HT 12 BIOS ‐ SECOND USER DEFINED DRIVE
`SeeAlso: CMOS 20h"Quadtel",#C026
`‐‐‐‐‐‐‐‐‐‐R27‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 27h ‐ AMI ‐ Second Hard Disk user defined: WPC‐low
`
`EXHIBIT 2004
`
`

`
`Desc:   Write Precompensation Cylinder, Low Byte
`‐‐‐‐‐‐‐‐‐‐R27‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 27h ‐ AMI WinBIOS ‐ Second Hard Disk user defined: WPC‐high
`Desc:   Write Precompensation Cylinder, High Byte
`‐‐‐‐‐‐‐‐‐‐R27‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 27h ‐ AMSTRAD ‐ INITIAL EXTERNAL UART SETUP BYTE
`Note:   default: E3h ‐ format as for Int 14h fn 0
`‐‐‐‐‐‐‐‐‐‐R27‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 27h ‐ PHOENIX ‐ First user defined hard disk (type 48) Sectors per track
`‐‐‐‐‐‐‐‐‐‐R27‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 27h ‐ AWARD ‐ 1st Hard Disk user defined (type 49): # Cylinders, High Byte
`‐‐‐‐‐‐‐‐‐‐R27‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 27h ‐ Quadtel HT 12 BIOS ‐ SECOND USER DEF. DRIVE: landing zone low byte
`‐‐‐‐‐‐‐‐‐‐R28‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 28h ‐ AMI ‐ Second Hard Disk user defined: WPC‐high
`Desc:   Write Precompensation Cylinder, High Byte
`‐‐‐‐‐‐‐‐‐‐R28‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 28h ‐ AMI WinBIOS ‐ Second Hard Disk user defined: Landing Zone, Low Byte
`‐‐‐‐‐‐‐‐‐‐R28‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 28h ‐ HP Vectra ‐ checksum over bytes 29h‐2Dh
`‐‐‐‐‐‐‐‐‐‐R28‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 28h ‐ AWARD ‐ 1st Hard Disk user defined (type 49): Number of Heads
`‐‐‐‐‐‐‐‐‐‐R28‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 28h ‐ Quadtel HT 12 BIOS ‐ second user def. drive: sectors per track
`‐‐‐‐‐‐‐‐‐‐R283F‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 28h‐3Fh ‐ AMSTRAD ‐ user applications default: zeroes
`‐‐‐‐‐‐‐‐‐‐R29‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 29h ‐ AMI ‐ Second Hard Disk user defined: Control Byte
`Note:   80h if # of heads is equal or greater than 8
`‐‐‐‐‐‐‐‐‐‐R29‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
`CMOS 29h ‐ AMI WinBIOS ‐ Second Hard Disk user defined: Landing Zone, High Byte
`‐‐‐‐‐‐‐‐‐‐R29‐

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


Or .

Accessing this document will incur an additional charge of $.

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

Accept $ Charge
throbber

Still Working On It

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

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

throbber

A few More Minutes ... Still Working

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

Thank you for your continued patience.

This document could not be displayed.

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

Your account does not support viewing this document.

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

Your account does not support viewing this document.

Set your membership status to view this document.

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

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

Become a Member

One Moment Please

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

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

Your document is on its way!

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

Sealed Document

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

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


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket