Note Before using this information and the product it supports, be sure to read the general information under Appendix C.
Contents Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Section 1. System Overview . . . . . . . . . . . . . . . . . Description System Board Devices and Features System Board I/O Address Map . . Specifications . . . . . . . . . . . . . Performance Specifications . . . Physical Specifications . . . . . . Electrical Specifications . . . . . Acoustical Readings . . . . . . . Power Supply . . . . .
RT/CMOS RAM . . . . . . . . . . . . . . Miscellaneous System Functions and Ports Nonmaskable Interrupt (NMI) . . . . . . System Control Port A (Hex 0092) . . . System Control Port B (Hex 0061) . . . Power-On Password . . . . . . . . . . . Other Passwords . . . . . . . . . . . . . Selectable Drive-Startup Sequence . . . Hardware Compatibility . . . . . . . . . . . Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Power Management Service Event Bit Definition . . . . . Samples . . . . . . . . . . . Function Declaration . . . . Installation Check . . . . . . BIOS Call . . . . . . . . . . . Appendix C. Appendix C Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-29 B-34 B-53 B-57 B-58 B-62 . . . . . . . . . . . . . . . . . . . .
vi
Figures 1-1. 1-2. 1-3. 1-4. 1-5. 1-6. 1-7. 1-8. 1-9. 1-10. 2-1. 2-2. 2-3. 2-4. 2-5. 2-6. 2-7. 2-8. 2-9. 2-10. 2-11. 2-12. 2-13. 2-14. 2-15. 2-16. 2-17. 2-18. 2-19. 2-20. 2-21. 2-22. 2-23. 2-24. 2-25. 2-26. 2-27. 2-28. 2-29. Model and Submodel Bytes . . . . . . . . . . . . . System Board Devices and Features . . . . . . . . System Board I/O Address Map . . . . . . . . . . . Performance Specifications . . . . . . . . . . . . . . Physical Specifications . . . . . . . . . . . . . . . .
2-30. 2-31. 2-32. 2-33. 2-34. 3-1. 3-2. 3-3. viii Display Operating Mode Bits . . . . . . . . . . . . . System Control Port A (Hex 0092) . . . . . . . . . System Control Port B (Hex 0061, Write) . . . . . System Control Port B (Hex 0061, Read) . . . . . Error Codes . . . . . . . . . . . . . . . . . . . . . . . BIOS Video VGA Modes . . . . . . . . . . . . . . . Video BIOS Extended Modes—NeoMagic NM2160 PCMCIA PC Card Slot Pin Assignments . . . . . . . . . . . . . . . .
Preface This technical reference contains hardware and software interface information specific to the IBM ThinkPad 600 computer. This technical reference is intended for those who develop hardware and software products for the computer. Users should understand computer architecture and programming concepts. This publication consists of the following sections and appendixes: Section 1, “System Overview,” describes the system, features, and specifications.
x Preface
Section 1. System Overview Description . . . . . . . . . . . . . . System Board Devices and Features System Board I/O Address Map . . Specifications . . . . . . . . . . . . . Performance Specifications . . . Physical Specifications . . . . . . Electrical Specifications . . . . . Acoustical Readings . . . . . . . Power Supply . . . . . . . . . . . . . Voltages . . . . . . . . . . . . . . Output Protection . . . . . . . . . Voltage Sequencing . . . . . . . . Power Supply Connector . . . . . Battery Pack . . .
Description The IBM ThinkPad 600 computer (hereafter called the ThinkPad computer or the computer) is a notebook-size computer that features AT bus architecture. Each computer supports one UltraSlim Bay and one internal hard disk drive. The ThinkPad 600 computer also supports an internal CD-ROM drive or a diskette drive in the UltraSlim Bay. Programs can distinguish the foregoing computer model from other ThinkPad models by reading the system ID: Interrupt 15H Function code (AH)=C0H.
System Board Devices and Features Figure 1-2 lists the system board devices and their features. The IBM Personal System/2 Hardware Interface Technical Reference describes devices common to PS/2 products by type number.
Device Type Features Interrupt controller 1 Keyboard/auxiliary device controller 1 Diskette drive controller 2 15 levels of system interrupts (interrupts are edge-triggered) Internal keyboard TrackPoint Auxiliary device connector Password security Supports: Serial controller port 2 Parallel controller port 1 Expansion bus adapter (PCI-bus) – PCMCIA slots – 3.5-in. diskette (1.44 MB) 3.5-in. diskette (1.2 MB) 3.5-in.
System Board I/O Address Map Figure 1-3 is the I/O address map.
Address (Hex) Device 0330–0333 0350–035F 0376, 0377 0378–037A 037B–037F 0388–038B 0398–0399 03B4, 03B5, 03BA 03BC–03BE 03C0–03C5 03C6–03C9 03CA, 03CC, 03CE, 03CF, 03D4, 03D5, 03DA, 03D8–03DA 03E0–03E1 03E8–03EF 03E8–03EF 03F0–03F5, 03F7 03F6, 03F7 03F8–03FF 03F8–03FF 0530–0537 0538–053F 0604–060B 0770–077F 0CF8–0CFB 0CFC–0CFF 0DB0–0DBF 0D38–0D3F 0E80–0E87 0E88–0E8F 0F40–0F47 0FF0–0FF7 15E8–15EF 2120–21FF 23C0–23C7 EF00–EF37 EFA0–EFAD F104 MIDI Port 4 ThinkPad Modem Secondary IDE Registers Parallel Port 2
Specifications Figure 1-4 to Figure 1-7 list the specifications for the computers.
Physical Specifications Size Width: 300.0 mm (12 in.) Depth: 240.0 / 254.0 mm (9.6 / 10.16 in.) Height: 36.5 mm (1.46 in.) Weight by model (approximate value) 21U 5.45 lb 31U 5.04 lb 41U 5.47 lb 51U 5.55 lb 61U 5.06 lb Air Temperature System on (without diskette) 5.0°C to 35.0°C (41°F to 95°F) System on (with diskette) 10.0°C to 35.0°C (50°F to 95°F) System off 5.0°C to 43.
Electrical Specifications (56 W) Input voltage (V ac) 100–240 Frequency (Hz) 50/60 Input (kVA) 0.13 Range is automatically selected; sine wave input is required. At maximum configuration. Figure 1-6. Electrical Specifications Acoustical Readings LWAd in bels Operate Idle LpAm in dB Operate m in dB Idle Operate Idle 600 4.40 3.90 35.0 30.0 30.0 25.5 600 (with SelectaDock III) 4.60 4.30 37.5 34.0 31.0 28.
Power Supply The power supply converts the ac voltage to dc voltage and provides power for the following: System board set Diskette drive Hard disk drive CD-ROM drive Auxiliary devices Keyboard LCD panel PCMCIA cards Voltages The power supply generates six different dc voltages: VCC5M, VCC3M, VCC12, and VCCSW. Figure 1-8 shows the maximum current for each voltage. Output Voltage (V dc) Current (A) VCC5M +5.0 5.0 VCC3M +3.3 5.0 VCC12 +12.0 0.50 VCCSW +5.0 0.006 Figure 1-8.
Output Protection A short circuit placed on any dc output (between two outputs or between an output and a dc return) latches all dc outputs into a shutdown state, with no hazardous condition to the power supply. If an overvoltage fault occurs in the power supply, the power supply latches all dc outputs into a shutdown state before any output exceeds 135% of the nominal value of the power supply.
Battery Pack The ThinkPad computer uses a lithium-ion (Li-ion) battery pack that meets the following electrical specifications: Nominal Voltage +10.8 V dc Capacity (average) 3.2 ampere hours (AH) Protection Overcurrent protection Overvoltage protection Overdischarge protection Thermal protection Figure 1-10.
Section 2. System Board Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . Microprocessor . . . . . . . . . . . . . . . . . . . . . . . . . . Cache Memory Operation . . . . . . . . . . . . . . . . . . Cacheable Address Space . . . . . . . . . . . . . . . . . . Bus Adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . Keyboard/Mouse Connector . . . . . . . . . . . . . . . . . . . Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Connector . . . . . . . . . . . . . .
Description This section describes the microprocessor, connectors, memory subsystems, and miscellaneous system functions and ports for the ThinkPad 600 computer. Microprocessor The ThinkPad 600 uses the Intel Pentium II 233 MHz processor with MMX technology or the Intel Pentium 233 or 266 MHz processor. The processor has a 32-bit address bus and a 64-bit data bus. It is software-compatible with all previous microprocessors. The processor has an internal, split data and instruction, 32-KB write-back cache.
bus, the cache memory enters “snoop” mode and monitors all write and read operations. If memory data is written to a location in the cache and the cache line is in the “modified” state, the corresponding cache line is written back to system memory and invalidated. When the microprocessor performs a memory read, the data address is used to find the data in the cache. If the data is found (a hit), it is read from the cache memory and no external bus cycle occurs.
Keyboard/Mouse Connector Each ThinkPad computer has a keyboard/mouse connector, where the IBM mouse, keyboard, or numeric keypad is connected. Signals The keyboard and mouse signals are driven by open-collector drivers pulled to 5 V dc through a pull-up resistor. Figure 2-1 lists the signals. Sink current High-level output voltage Low-level output voltage High-level input voltage Low-level input voltage 1 mA 5.0 V 0.5 V 2.0 V 0.
Figure 2-3. Key Numbers for the 85-Key Keyboard Figure 2-4 shows the key numbers assigned to keys on the 86-key keyboard (for countries other than the U.S.and Japan). Figure 2-4. Key Numbers for the 86-Key Keyboard Figure 2-5 on page 2-6 shows the key numbers assigned to the keys on the 90-key keyboard (for Japan).
Figure 2-5. Key Numbers for the 90-Key Keyboard For scan codes assigned to each numbered key, refer to the IBM Personal System/2 Hardware Interface Technical Reference. Keyboard ID The keyboard ID consists of 2 bytes: hex 83AB (the built-in keyboard with the external numeric keypad) or hex 84AB (the built-in keyboard only). Interrupt 16H, function code (AH)=0AH, returns the keyboard ID in BX.
Figure 2-6 shows the key numbers assigned to keys on the external numeric keypad. For scan codes assigned to each numbered key, refer to the IBM Personal System/2 Hardware Interface Technical Reference. 90 95 100 91 96 101 92 97 102 93 98 103 105 106 108 99 104 Figure 2-6.
Hard Disk Drive Connector The hard disk drive connected to the system board is removable. Figure 2-7 shows the pin assignments for the connector on the system board.
Pin Signal Name Pin Signal Name 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 VCC5A VCC5A -PCIRST_DOCK -ACK_DOCK -CLKRUN_DOCK GND GND AD30 AD28 AD26 AD24 GND GND AD23 AD21 AD19 AD17 GND GND C_BE2 -IRDY_DOCK -DEVSEL_DOCK -LOCK_DOCK GND GND -SERR_DOCK -PAR_DOCK TDO TMS -TRST -BRRESET AD14 AD12 AD10 AD8 GND GND AD7 AD5 AD3 GND GND AD1 PRDY -CPURST_DS -IO
Pin 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 Signal Name GND -DOCK_ID1 IRQSER IRQ5 IRQ7 IRQ10 IRQ11 IRQ14 -INTB_DOCK -INTC_DOCK -INTD_DOCK -DASPDOCK GND GND CRTID0 CDTID2 DDCCLK_ID3 GND CRT_RED LPTSLCT LPTPE LPTBUSY LPTD7 LPTD6 LPTD3 LPTD2 LPTD1 LPTD0 -LPTAFD GND GND GND -LPTERR -WRDATA_1 -DRVSEL1 -DRVIDO -MED
UltraSlim Bay Connector The removable diskette drive or CD-ROM drive can be connected to the UltraSlim Bay connector on the system board. This connector has the following pin assignments.
Pin 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 Signal I/O and Feature -UBAYID1 -UBAYID2 GND GND -INDEX -DRVSEL0 -DISKCHG -DRVID0 NC -MEDID0 -MONTEN0 DRATE1 -DIR -DRVID1 -STEP GND -WRDATA GND -WREN -MEDID1 -TRACK0 DRATE0 -WPROTECT -RDDATA GND -SIDE1SEL -UBAYID0 BAYRESET GND SDD7 SDD8 SDD6 SDD9 GND SDD5 DD10 SDD4 SDD11 VCC5B VCC5B VCC5B VCC5B SDD3 SDD12 SDD2 SDD13 GND SDD1 SDD14 SDD0 I I GND GND I O I I N/C I
Pin 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 Signal I/O and Feature SDD15 GND UBAYID0 -SDREQ GND -SDIOW GND -SDIOR GND SIORDY UBAYSLAVE -SDACK IRQ Reserved SDA1 -PDIAGHDD SDA0 SDA2 -CS1S -CS3S -DASPUBAY -MCS CD_MUTE AUDIO_RTN CD_L_IN CD_R_IN GND GND -UBAYID3 -UBAYID4 I/O GND I I GND O GND O GND I O O I I O I/O O O O O I O I I I I GND GND I I Figure 2-9 (Part 2 of 2).
Diskette Drive and Controller Figure 2-10 shows the read, write, and format capabilities of the diskette drive for the ThinkPad computer. Format Size Diskette Type 3.5-inch 1.0 MB Diskette 3.5-inch 2.0 MB Diskette 720 KB 1.2 MB 1.44 MB RWF − − RWF − RWF Legend:: 1 KB (kilobyte) 1 MB (megabyte) R W F 1024 bytes 1,048,576 bytes Read Write Format Figure 2-10.
Memory The ThinkPad computers use the following types of memory: Read-only memory (ROM) Random access memory (RAM) Real-time clock/complementary metal-oxide semiconductor RAM (RT/CMOS RAM) ROM Subsystem The ROM subsystem consists of four banks of 128-KB memory. ROM is active when power is turned on and is assigned to the top of the first and last 1 MB of address space (hex 000F0000–000FFFFF and hex FFFF0000–FFFFFFFF).
System Memory Map Memory is mapped by the memory controller registers. Figure 2-11 shows the memory map for a correctly functioning system. Memory can be mapped differently if POST detects an error in system board memory or RT/CMOS RAM. In the figure, the variable x represents the number of 1-MB blocks of system board memory starting at or above the hex 100000 boundary.
System Board Memory for the DIMM Connectors The system board has two DIMM connectors. Figure 2-12 shows the pin assignments for the DIMM connector.
RT/CMOS RAM The RT/CMOS RAM (real-time clock/complementary metal-oxide semiconductor RAM) module contains the real-time clock and 128 bytes of CMOS RAM. The clock circuitry uses 14 bytes of this memory; the remainder is allocated to configuration and system-status information. A battery is built into the module to keep the RT/CMOS RAM active when the power supply is not turned on.
RT/CMOS Address and NMI Mask Register (Hex 0070) The NMI mask register is used with the RT/CMOS data register (hex 0071) to read from and write to the RT/CMOS RAM bytes. Attention The operation following a write to hex 0070 should access hex 0071; otherwise, intermittent failures of the RT/CMOS RAM can occur. Bit Function 7 6–0 NMI mask RT/CMOS RAM address Figure 2-14. RT/CMOS Address and NMI Mask Register (Hex 0070) Bit 7 When this write-only bit is set to 1, the NMI is masked (disabled).
RT/CMOS RAM I/O Operations During I/O operations to the RT/CMOS RAM addresses, you should mask interrupts to prevent other interrupt routines from changing the RT/CMOS address register before data is read or written. After I/O operations, you should leave the RT/CMOS address and NMI mask register (hex 0070) pointing to status register D (hex 00D). Attention The operation following a write to hex 0070 should access hex 0071; otherwise, intermittent failures of the RT/CMOS RAM can occur.
Real-Time Clock Bytes (Hex 000–00D): Bit definitions and addresses for the real-time clock bytes are shown in Figure 2-16. Address (Hex) Function 000 001 002 003 004 005 006 007 008 009 00A 00B 00C 00D Seconds Second alarm Minutes Minute alarm Hours Hour alarm Day of week Date of month Month Year Status register Status register Status register Status register Byte Number A B C D 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Figure 2-16.
Status Register B (Hex 00B) Bit Function 7 6 5 4 3 2 1 0 Set Enable periodic interrupt Enable alarm interrupt Enable update-ended interrupt Enable square wave Date mode 24-hour mode Enable daylight-saving time Figure 2-18. Status Register B (Hex 00B) Bit 7 If set to 0, this bit updates the cycle, normally by advancing the count at a rate of one cycle per second.
Status Register C (Hex 00C) Bit Function 7 6 5 4 3–0 Interrupt request flag Periodic interrupt flag Alarm interrupt flag Update-ended interrupt flag Reserved Figure 2-19. Status Register C (Hex 00C) Note: Interrupts are enabled by bits 6, 5, and 4 in status register B. Bit 7 If set to 1, this bit indicates that an interrupt has occurred; bits 6, 5, and 4 indicate the type of interrupt. Bit 6 If set to 1, this bit indicates that a periodic interrupt has occurred.
CMOS RAM Configuration Figure 2-21 shows the bit definitions for the CMOS RAM configuration bytes. Diagnostic Status Byte (Hex 00E) Bit Function 7 6 5 4 3 2 1, 0 Real-time clock power Configuration record and checksum status Incorrect configuration Memory size mismatch Hard disk controller/drive C initialization status Time status indicator Reserved Figure 2-21. Diagnostic Status Byte (Hex 00E) Bit 7 If set to 1, this bit indicates that the real-time clock has lost power.
Diskette Drive Type Byte (Hex 010): This byte indicates the type of the installed diskette drive. Bit Drive Type 7–4 3–0 Diskette drive type Reserved Figure 2-22. Diskette Drive Type Byte (Hex 010) Bits 7–4 These bits indicate the diskette drive type. Bits 7–4 Description 0110 Diskette drive (2.88MB) 0100 Diskette drive (1.44MB) Note: Combinations not shown are reserved. Figure 2-23. Diskette Drive Type Bits 7–4 Bits 3–0 These bits are reserved.
Hard Disk Drive Type Byte (Hex 012): This byte defines the type of hard disk drive installed. Hex 00 indicates that no hard disk drive is installed. Bit Drive Type 7–4 3–0 Hard disk drive 0 Hard disk drive 1 Figure 2-27. Hard Disk Drive Type Byte Reserved Bytes (Hex 013): These bytes are reserved. Equipment Byte (Hex 014): This byte defines the basic equipment in the system for the power-on diagnostic tests.
Bits 3–2 These bits are reserved. Bit 1 If set to 1, this bit indicates that a coprocessor is installed. Bit 0 If set to 1, this bit indicates that physical diskette drive 0 is installed. Low and High Base Memory Bytes (Hex 015 and Hex 016): The low and high base memory bytes define the amount of memory below the 640-KB address space. The value in these bytes represents the number of 1-KB blocks of base memory. For example, hex 0280 indicates 640 KB. The low byte is hex 015; the high byte is hex 016.
Miscellaneous System Functions and Ports This section provides information about nonmaskable interrupts (NMIs), the power-on password, and hardware compatibility. Nonmaskable Interrupt (NMI) The NMI signals the system microprocessor that a channel check timeout has occurred. This situation can cause lost data or an overrun error on some I/O devices. The NMI masks all other interrupts. The interrupt return (IRET) instruction restores the interrupt flag to the state it was in before the interrupt occurred.
System Control Port A (Hex 0092) Bit Function 7–4 3 2 1 0 Reserved Security lock latch Reserved (must be set to 0) Alternate gate A20 Alternate hot reset Figure 2-31. System Control Port A (Hex 0092) Bits 7–4 These bits are reserved. Bit 3 This bit provides a security lock for the secured area of RT/CMOS. If this bit is set to 1, the 8-byte power-on password is locked by the software. After this bit is set by POST, it can be cleared only by turning the system off. Bit 2 This bit is reserved.
2. Reset the system microprocessor by writing a 1 to bit 0. 3. Issue a Halt instruction to the system microprocessor. 4. Reenable all maskable and nonmaskable interrupts. If you do not follow this procedure, the results are unpredictable. Note: Whenever possible, use BIOS as an interface to reset the system microprocessor to the real mode. For more information about resetting the system microprocessor, refer to the IBM Personal System/2 and Personal Computer BIOS Interface.
Bit 6 If set to 1, this bit indicates that a channel check has occurred. Bit 5 If read, this bit indicates the condition of the timer/counter 2 ‘output’ signal. Bit 4 If read, this bit toggles for each refresh request. Bit 3 If set to 0, this bit enables the channel check. This bit is set to 1 during a power-on reset. Bit 2 If set to 0, this bit enables the PCI SERR#. Bit 1 If set to 1, this bit enables the speaker data. Bit 0 If set to 1, this bit enables the timer 2 gate.
The supervisor password protects the system information in Easy-Setup from being changed by unauthorized persons. For more information about these passwords, refer to the ThinkPad User's Guide. Selectable Drive-Startup Sequence Selectable drive-startup (selectable boot) allows you to control the startup sequence of the drives in your computer. The order in which the computer looks for the drives for your operating system is the drive-startup sequence.
Hardware Compatibility The computer supports most of the interfaces used by the IBM Personal Computer AT* and the Personal System/2* (PS/2*) products. In many cases, the command and status organization of these interfaces is maintained. The functional interfaces for the computer are compatible with the following: The Intel 8259 interrupt controllers (edge trigger mode). The Intel 8254 timers driven from 1.193 MHz (channels 0, 1, and 2).
Error Codes POST returns a three or more character code message to indicate which test failed. Figure 2-34 lists the failure indicated with the associated error code. Error Code Description 101 102 103 104 105 107 108 109 110 111 118 127 158 159 161 162 163 173 174 175 177 178 179 183 184 185 186 188 190 191 192 195 196 201 202 203 215 221 225 301 Interrupt failure. Timer failure. Timer interrupt failure. Protected mode failure. Last 8042 command not accepted. NMI test failure. Timer bus test failure.
Error Code Description 601 602 604 1101 1201 1701 1780, 1790 1781, 1791 2401 8081 Diskette drive or controller error. No valid boot record on diskette. Invalid diskette drive error. Serial-A test failure. Serial-B test failure. Hard disk controller failure. Hard disk 0 error. Hard disk 1 error. System board video error. PCMCIA presence test failure (PCMCIA revision number also checked). PCMCIA register test failure. System bus error (8042 mouse interface). External mouse error.
2-36 System Board
Section 3. Subsystems Video Subsystem . . . . . . . . . . Video Modes . . . . . . . . . . . Modem Subsystem . . . . . . . . . ThinkPad Modem . . . . . . . . MIDI Port Function . . . . . . . Sound Blaster Support Function Telephony (Modem) Function . Audio Subsystem . . . . . . . . . . MIDI Port Function . . . . . . . Sound Blaster Support Function Audio Port Specifications . . . . Infrared (IR) Subsystem . . . . . . IRQ Level and DMA Channel . PC Card Subsystem . . . . . . . . Pin Assignments . . . . . . .
Video Subsystem The video subsystem consists of the XGA video controller, which inteprets the monitor buffer. The video subsystem supports an IBM thin-film transistor (TFT) or High Performance Addressing (HPA) as follows: Color Depth LCD Type VRAM Size XGA TFT XGA HPA 2 MB Resolution On the LCD On the External Monitor On the LCD On the External Monitor 65,536 16,777,216 1024×768 640×480 800×600 1024×768 The video subsystem also supports PS/2 analog displays without any additional adapters.
A/N – APA A/N 6 A/N APA APA APA APA APA APA APA 7# D E F 10 11 12 13 7 * 2 APA 4, 5 256 16 2 16 – 16 16 – 4 A/N 2#, 3# 2 ,3 16 16 A/N 2, 3 * * 16 A/N 0#, 1# 0 ,1 16 16 A/N * * 16 A/N 0, 1 Colors Type Mode (Hex) 40×25 80×30 80×30 80×25 80×25 80×25 40×25 80×25 80×25 80×25 40×25 80×25 80×25 80×25 40×25 40×25 40×25 Alphanumeric Format A0000 A0000 A0000 A0000 A0000 A0000 A0000 B0000 B0000 B8000 B8000 B8000 B8000 B8000 B8000 B8000 B8
VESA Mode Number (Hex) 10D 10E 120 121 122 123 124 125 100 101 110 111 112 102 103 113 114 115 104 105 116 117 Video Mode 320x200x32k 320x200x64k 320x240x256 320x240x64k 400x300x256 400x300x64k 512x384x256 512x384x64k 640x400x256 640x480x256 640x480x32k 640x480x64k 640x480xTrue 800x600x16 800x600x256 800x600x32k 800x600x64k 800x600xTrue 1024x768x16 1024x756x256 1024x768x32k 1024x768x64k 3-4 Subsystems o o o o o o o o o o o o o o o o o o o 60 o o o o o o 70 o o o o o o o o o o o 75 o o o o o o
Modem Subsystem The modem subsystem is composed of a digital signal processor (DSP) and a data access arrangement (DAA): General MIDI-compatible, 40-voice wave table synthesizer 33.6-kbps data/fax modem Full-feature telephone Answering machine Headphone-free, full-duplex speaker phone ThinkPad Modem The modem subsystem provides three system settings: I/O address, IRQ level, and DMA channel.
I/O Address IRQ Level DMA Channel 0220–0233 (default) 0240–0253 0260–0273 0280–0293 0388–038B (synthesizer) IRQ IRQ IRQ IRQ DMA DMA DMA DMA 5 (default) 7 10 11 0 1 (default) 6 7 Telephony (Modem) Function The telephony (modem) function provides the following settings: Serial Port COM1 COM2 COM3 COM4 (I/O: (I/O: (I/O: (I/O: 03F8 - IRQ 4) 02F8 - IRQ 3) (default) 03E8 - IRQ 4) 02E8 - IRQ 3) Audio Subsystem The crystal audio subsystem provides 16-bit stereo audio with high-quality FM music synthesis
Sound Blaster Support Function The Sound Blaster support function provides three system settings: I/O address, IRQ level, and DMA channel. I/O Address IRQ Level DMA Channel 0220–022F (default) 0240–024F 0338–038B (FM synthesizer) IRQ IRQ IRQ IRQ DMA 0 DMA 1 (default) 5 (default) 7 10 11 Audio Port Specifications Audio Output: – -inch mini-jack for headphone – Headphone speaker output: 25 mW (32 ) maximum – Maximum output level: 2.
Infrared (IR) Subsystem The IR subsystem supports the following functions: MIF/FIR mode – – – – – 9.6 Kbps 57.6 Kbps 115.2 Kbps 1.152 Mbps 4.0 Mbps Sharp** mode – 9,600 bps The I/O address can be selected from the following with the system utility program.
PC Card Subsystem The system board has two PC Card slots that support the following types of PC Card: 16 bit PC Card Type–I, II, III 5V, 3.3V 32 bit PC Card Type–I, II, III 5V, 3.3V DMA is not supported. The maximum current per slot is: 500 mA at 5 V dc 500 mA at 3.3 V dc 50 mA at 12 V dc The PCI1250 PCI-to-Cardbus Controller Unit1 is used as the PC Card controller in the system unit. The available interrupt levels are IRQ 3, 4, 5, 7, 9, 10, 11, and 15.
Pin Assignments Figure 3-3 shows the pin assignments for the PCMCIA slots. Pin 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 16-Bit PC Card 32-Bit PC Card Ground D3 D4 D5 D6 D7 CE1# A10 OE A11 A9 A8 A13 A14 WE# IRQ# Vcc Vpp A16 A15 A12 A7 A6 A5 A4 A3 A2 A1 A0 D0 Ground CAD0 CAD1 CAD3 CAD5 CAD7 CC/BE0# CAD9 CAD11 CAD12 CAD14 CC/BE1# CPAR CPERR# CGNT# CINT# Vcc Vpp CCLK CIRDY# CC/BE2# CAD18 CAD20 CAD21 CAD22 CAD23 CAD24 CAD25 CAD26 CAD27 Figure 3-3 (Part 1 of 2).
Pin 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 16-Bit PC Card 32-Bit PC Card D1 D2 IOIS16# Ground Ground CD1# D11 D12 D13 D14 D15 CE2 VS1# IORD# IOWR# A17 A18 A19 A20 A21 Vcc Vpp A22 A23 A24 A25 AS2# RESET WAIT# INPACK# REG# SPKR# STSCHG# D8 D9 D10 CD2# GND CAD29 Reserved CCLKRUN# Ground Ground CCD1# CAD2 CAD4 CAD6 Reserved CAD8 CAD10 CVS1 CAD13 CAD15 CAD16 Reserved CBLOCK# CSTOP# CDEVSEL# Vcc Vpp CTRDY# CFRAME# CAD17 CAD19 CVS2 CRST
IDE Channel on the UltraSlim Bay A primary IDE channel is provided on the UltraSlim Bay connector, providing two system settings: I/O Address IRQ Level 01F0–01F7 03F6 IRQ 14 A secondary IDE channel is provided on the UltraSlim Bay connector, providing two system settings: I/O Address IRQ Level 0170–0177 0376 IRQ 15 If a hard disk is attached to the hard disk connector, an IDE device on the UltraSlim Bay becomes a primary slave.
Joystick Interface A joystick interface is provided at I/O address 0201. You can select whether to enable or disable it with the ThinkPad Configurations program.
3-14 Subsystems
Appendix A. System Resources The following summarizes the available system resources for the computer and docking stations. Values in parentheses are alternative values that are selectable in the ThinkPad Configuration program or application programs. The default values are highlighted.
System Resource IRQ I/O Address (Hex) Memory Address (Hex) DMA Channel MIDI 5, 7, 9, 10, 11, 15, or disabled 0330–0332, 0300–0302, 0310–0313, or 0320–0323 None None MIDI port 5, 7, 10, 11, or disabled 0330–0332 or 0300–0302 None None Joystick port None 0201 None None (For models with internal modems only) ThinkPad modem 3 02F8–02FF None None 4 03F8–03FF 4 03E8–03EF 3 02E8–02EF Disabled Disabled WSS codec base 5, 7, 9, 10, 11, 15 0530–0537, 0604–060B 0E80–0E87, 0F40–0F47 N
System Resource IRQ I/O Address (Hex) Memory Address (Hex) DMA Channel SCSI controller SelectaDock I, SelectaDock II, SelectaDock III 11, 3, 4, 5, 7, 9, 10, 15, or disabled Automatically set by the system None None The IDE hard disk drive or IDE CD-ROM drive in the docking station 15, 10, 11 0170–0177 and 0376, 01F0–01F7 and 3F6, 01E8–01EF and 03EE, or 0168–016F and 036E None None The ISA adapter card (option card) in the docking station (Refer to the manual that came with the adapter card.
A-4
Appendix B. System Management API (SMAPI) BIOS Overview Overview . . . . . . . . . . . . . . . . . . . . . Header Image . . . . . . . . . . . . . . . . . . Calling Convention . . . . . . . . . . . . . . . Parameter Structure . . . . . . . . . . . . Sample in Assembler Language . . . . Sample in C Language . . . . . . . . . Calling Convention Pseudo Code . . . . . Return Codes . . . . . . . . . . . . . . . . . . Function Description . . . . . . . . . . . . . . System Information Service . . . . . . . .
Get Hibernation Timer . . . . . Set Hibernation Timer . . . . . Get System Event 3 Condition Set System Event 3 Condition Get System Resume Condition Set System Resume Condition Get System Resume Timer . . Set System Resume Timer . . Request System Standby . . . Request System Suspend . . Request System Hibernation . Request System Off . . . . . . Samples . . . . . . . . . . . . . . Data Structure . . . . . . . . . Function Declaration . . . . . . . Installation Check . . . . . . . . . BIOS Call . . . . . .
Overview The ThinkPad Basic Input/Output System (BIOS) provides a special software interface, called the System Management Application Program Interface (SMAPI) BIOS, to control the following unique features of the ThinkPad system: System Information This BIOS provides unique ThinkPad information, such as the system identifier (system ID).
Header Image Systems that support SMAPI BIOS must provide the following header image in the F000 segment system ROM area at the 16-byte boundary. The client needs to search and find this SMAPI BIOS header image to get the entry point for the service.
Information Word This area identifies the following BIOS service level: Information Word Bit : Real/V86 mode interface support Bit 1 : 16-bit protected mode support Bit 2 : 32-bit protected mode support Bit 3-15 : Reserved Real Mode Entry Point The entry point is specified in segment, offset format. Clients using Real/V86 mode can use this area for the far-call value.
Calling Convention The client can invoke the SMAPI BIOS with a far-call to the entry point that is specified in the header file. All parameters for the BIOS and other results are stored in the client data area; the client needs to prepare an input parameter and output parameter area in its data area, and informs this area by pushing those pointers onto its stack before the far-calls. The SMAPI BIOS uses the stack/data area directly with the selector when the BIOS is invoked.
Output Field Field Offset (in Hex) Length Return Code 00 Byte Auxiliary Return Code 01 Byte Parameter 1 02 Word Parameter 2 04 Word Parameter 3 06 Word Parameter 4 08 Double word Parameter 5 0C Double word SMAPI BIOS B-7
Sample in Assembler Language ; ; Input Parameter Structure ; SMB_INPARM STRUC @SMBIN_FUNC DB @SMBIN_SUB_FUNC DB @SMBIN_PARM_1 DW @SMBIN_PARM_2 DW @SMBIN_PARM_3 DW @SMBIN_PARM_4 DD @SMBIN_PARM_5 DD SMB_INPARM ENDS ? ? ? ? ? ? ? ; ; Output Parameter Structure ; SMB_OUTPARM @SMBOUT_RC @SMBOUT_SUB_RC @SMBOUT_PARM_1 @SMBOUT_PARM_2 @SMBOUT_PARM_3 @SMBOUT_PARM_4 @SMBOUT_PARM_5 SMB_OUTPARM B-8 SMAPI BIOS STRUC DB DB DW DW DW DD DD ENDS ? ? ? ? ? ? ?
Sample in C Language // // Input Parameter Structure // typedef struct { BYTE SMBIN_FUNC ; BYTE SMBIN_SUB_FUNC ; WORD SMBIN_PARM_1 ; WORD SMBIN_PARM_2 ; WORD SMBIN_PARM_3 ; DWORD SMBIN_PARM_4 ; DWORD SMBIN_PARM_5 ; } INPARM, PINPARM ; // // Output Parameter Structure // typedef struct { BYTE SMBOUT_RC ; BYTE SMBOUT_SUB_RC ; WORD SMBOUT_PARM_1 ; WORD SMBOUT_PARM_2 ; WORD SMBOUT_PARM_3 ; DWORD SMBOUT_PARM_4 ; DWORD SMBOUT_PARM_5 ; } OUTPARM, POUTPARM ; typedef INPARM typedef OUTPARM far far FPINPARM ; FPO
Calling Convention Pseudo Code The following describes the calling convention using pseudo code.
Return Codes The following hexadecimal return codes are stored in both the AL (AX) register and the return code field of the output parameter: 53 81 86 9 91 92 A A1 A2 A3 A4 A5 No error SMAPI function is not available Invalid parameter Function is not supported System error System is invalid System is busy Device error (disk read error) Device is busy Device is not attached Device is disabled Request parameter is out of range Request parameter is not accepted All other values are reserved.
Function Description System Information Service Get System Identification Input Field Major Function Number Minor Function Number Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Return value format = - ASCII format = 1 - Binary format Parameter 1 - System ID Parameter 2 - Country Code Parameter 3 - System BIOS revision Parameter 4 - (Bits 31-16) Reserved - (Bits 15- ) System M
Get CPU Information Input Field Major Function Number Minor Function Number - 1 Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Reserved Parameter 1 - Reserved Parameter 2 - CPU ID (Bits 15-8) Microprocessor type (Bits 7- ) Microprocessor stepping level = FFFFh : Unknown Parameter 3 - Clock Information (Bits 15-8) CPU clock (units: MHz) = FEh : CPU clock is over 254 MHz = FFh
Get Display Device Information Input Field Major Function Number Minor Function Number - 2 Parameter 1 - (Bit 8) LCD information (Bit 9) External CRT information (Bits 15-1 ) Reserved (Bits 7- ) Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Reserved Parameter 1 - (Bits 15-8) Built-in display device (panel) information 1 = : Monochrome STN LCD = 1 : Monochrome TFT LCD = 2 : Color STN LCD =
Get Docking Station Information Input Field Major Function Number Minor Function Number - 3 Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Docking station status Bit - Docking status = : Undock = 1 : Dock Bits 5-1 - Reserved Bit 6 - Security key status = : Lock position = 1 : Unlock position Bit 7 - Bus status = : BUS isolated = 1 : BUS connected Parameter 1 - Docking station
Get UltraBay II Information Input Field Major Function Number Minor Function Number - 4 Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Reserved Parameter 1 - Reserved Parameter 2 - (Bits 15-8) UltraBay device information = : FDD = 1 : Serial device = 2 : TV tuner = 1 : IDE device = 2 : PCMCIA adapter = 3 : Battery = 4 : AC Adapter = FE : No UltraBay = FF : Unknown (Bit 7- ) U
Get Slave Micro Control Unit Information Input Field Major Function Number Minor Function Number - 6 Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code Auxiliary Return Code = = Parameter 1 Parameter 2 (= Parameter 3 Parameter 4 Parameter 5 - Error status - Return value format - ASCII format 1 - Binary format Reserved Slave controller Revision FFFF) - Not valid Reserved Reserved Reserved SMAPI BIOS B-17
Get System Sensor Status Input Field Major Function Number Minor Function Number - 7 Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Reserved Parameter 1 - Reserved Parameter 2 - Current Status Bit 8 - LID Status = : Open = 1 : Close Bit 9 - Keyboard status = : Close = 1 : Open Bit 1 - AC Adapter = : Not attached = 1 : Attached Bits 15-11 : Reserved Bits 7- : Reserved Paramete
Get Video Information Input Field Major Function Number Minor Function Number - 8 Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Reserved Parameter 1 - Video BIOS revision Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved SMAPI BIOS B-19
Get Refresh Rate Capability Input Field Major Function Number Minor Function Number - 9 Parameter 1 - mode = xxh - VGA modes (Bits -7 are ignored) = 1 - 64 x4 x256 = 1 1 - 64 x48 x256 = 1 2 - 8 x6 x16 = 1 3 - 8 x6 x256 = 1 4 - 1 24x768x16 = 1 5 - 1 24x768x256 = 1 6 - 128 x1 24x16 = 1 7 - 128 x1 24x256 = 1 9 - 1 56x35 x16 = 1 A - 1 56x473x16 = 1 C - 1 56x48 x16 = 11 - 64 x48 x32K = 111 - 64 x48 x64K = 112 - 64 x48 x16M = 113 - 8 x6 x32K = 114 - 8 x6 x64K = 115 - 8 x6 x16M = 116 - 1 24x768x32K = 117 - 1 24x7
Return Code - Error status Auxiliary Return Code - Reserved Parameter 1 - Reserved Parameter 2 - Refresh rate capability for specified mode: Bit - 6 Hz available Bit 1 - 72Hz available Bit 2 - 75Hz available Bit 3 - 43Hz(I) available Bit 4 - 56Hz available Bit 5 - 7 Hz available Bit 6 - 85Hz available Bit 7 - 48Hz(I) available Bits 8-15 : Reserved (must be B' ') Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved SMAPI BIOS B-21
System Configuration Service Get Display Device State Input Field Major Function Number - 1 Minor Function Number Parameter 1 - Request type = h : Current hardware = 1h : CMOS (effective after reboot) Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved B-22 SMAPI BIOS
Output Field Return Code - Error status Auxiliary Return Code - Reserved Parameter 1 - Bits 15-8 : Reserved Bits 7- : Capability of display device function Bit - Display function type = : Not support = 1 : Support Bits 7-1 : Reserved Parameter 2 - Bits 15-8 Display current status Bit - Built-in display (panel) status = : Disable = 1 : Enable Bit 1 - External CRT status = : Disable = 1 : Enable Bit 2 - TV status = : Disable = 1 : Enable Bits 6-3 : Reserved Bit 7 - Dual enable flag = : Disable = 1 : Enable Bi
Set Display Device State Input Field Major Function Number - 1 Minor Function Number - 1 Parameter 1 - Request display status Bit - Built-in display (panel) status = : Disable = 1 : Enable Bit 1 - External CRT status = : Disable = 1 : Enable Bit 2 - TV status = : Disable = 1 : Enable Bits 5-3 : Reserved Bit 6 - Monitor detection ignore = : Do not ignore = 1 : Ignore Bit 7 - Dual enable flag = : Disable = 1 : Enable Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - When parameter 2 (bits 7- ) is 1
Get Pointing Device State Input Field Major Function Number - 11 Minor Function Number - 2 Parameter 1 - Bits 15-8 Request type = h - Current hardware = 1h - CMOS (effective after reboot) Bits 7- Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Reserved Parameter 1 - Bits 15-8 Pointing device current status Bits 1 , 8 - Built-in pointing device control = : Disable = 1 : Enable = 1 : Auto = 1
Set Pointing Device State Input Field Major Function Number - 11 Minor Function Number - 3 Parameter 1 - Reserved Parameter 2 - Bits 15-8 Pointing device current status Bits 1 , 8 - Built-in pointing device auto control = : Disable = 1 : Enable = 1 : Auto = 11 : Reserved Bit 9 - External pointing device status = : Disable = 1 : Enable Bits 15-11: Reserved Bits 7- Request type = h - Current hardware = 1h - CMOS (effective after reboot) Bits 7-2: Reserved Parameter 3 - Reserved Parameter 4 - Reserved Paramet
Get Hotkey Sticky/Lock Input Field Major Function Number - 13 Minor Function Number - 2 Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Reserved Parameter 1 - Reserved Parameter 2 - Bits 15-8 Capability Bit 8 - Sticky Fn key support Bit 9 - Sticky & Lock Fn key support Bits 15-1 - Reserved Bits 7- Current status = : Disable = 1 : Sticky Fn key = 3 : Sticky & Lock Fn key Parame
Set Hotkey Sticky/Lock Input Field Major Function Number - 13 Minor Function Number - 3 Parameter 1 - Bits 15-8 Reserved Bits 7- Request Status = : Disable = 1 : Sticky Fn key = 3 : Sticky & Lock Fn key Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Reserved Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved B-28 SMAPI BIOS
Power Management Service Get Power Management Mode Input Field Major Function Number - 22 Minor Function Number Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Reserved Parameter 1 - Reserved Parameter 2 - Bits 15-8 Power management mode Battery operation = h - High performance mode = 1h - Auto power management mode = 2h - Manual power management mode Bits 7Power management mo
Set Power Management Mode Input Field Major Function Number - 22 Minor Function Number - 1 Parameter 1 - Bits 15-8 Power management mode Battery operation = h - High performance mode = 1h - Auto power management mode = 2h - Manual power management mode Bits 7- Power management mode ac operation = h - High performance mode = 1h - Auto power management mode = 2h - Manual power management mode Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code
Get Timer Control Input Field Major Function Number - 22 Minor Function Number - 2 Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved SMAPI BIOS B-31
Output Field Return Code - Error status Auxiliary Return Code - Reserved Parameter 1 - Reserved Parameter 2 - Bits 15-8 Capability of timer control Bit 8 - System (Hibernation/suspend) timer = : Not support = 1 : Support Bit 9 - Standby timer = : Not support = 1 : Support Bit 1 - LCD off timer = : Not support = 1 : Support Bit 11 - HDD off timer = : Not support = 1 : Support Bits 15-12 - Reserved Bits 7- Timer control Bit - System (Hibernation/suspend) timer = : Disable = 1 : Enable Bit 1 - Standby timer =
Set Timer Control Input Field Major Function Number - 22 Minor Function Number - 3 Parameter 1 - Bits 15-8 Reserved Bits 7- Timer control Bit - System (Hibernation/suspend) timer = : Disable = 1 : Enable Bit 1 - Standby timer = : Disable = 1 : Enable Bit 2 - LCD off timer = : Disable = 1 : Enable Bit 3 - HDD off timer = : Disable = 1 : Enable Bits 7-4 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Ret
Event Bit Definition Bits 2Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 - - Reserved Standby Suspend RediSafe Hibernation Power off Note: If bits are duplicated, the highest bit is available.
Get System Event Global Condition Input Field Major Function Number - 3 Minor Function Number Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Reserved Parameter 1 - Reserved Parameter 2 - Bits 15-8 Capability for event Bit 8 - RediSafe is controlled by global conditions. (The RediSafe bit is ignored in each event condition.
Set System Event Global Condition Input Field Major Function Number - 3 Minor Function Number - 1 Parameter 1 - Bits 15-8 Reserved Bits 7- Global condition for event Bit - Enable safe suspend if suspend is selected.
Get System Event 1 Condition Input Field Major Function Number - 31 Minor Function Number Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Reserved Parameter 1 - Reserved Parameter 2 - Hardware and software event definition Bits 15-8 - Capability (see page B-34) Bits 7- - Condition (see page B-34) Parameter 3 - Reserved Parameter 4 - Bits 31-16 : Reserved Bits 15- Power switch
Set System Event 1 Condition Input Field Major Function Number - 31 Minor Function Number - 1 Parameter 1 - Condition for hardware and software event Bits 15-8 - Capability (see page B-34) Bits 7- - Condition (see page B-34) Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Bits 31-16 : Reserved Bits 15- Condition for power switch detection Bits 15-8 - Capability (see page B-34) Bits 7- - Condition (see page B-34) Parameter 5 - Bits 31-16 : Reserved Bits 15- Condition for LID close detection Bits
Get System Event 2 Condition Input Field Major Function Number - 32 Minor Function Number Parameter 1 - System timer expiration event definition Bits 15-8 - Capability (see page B-34) Bits 7- - Condition (see page B-34) Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Bits 31-16 : Reserved Bits 15- Standby timer expiration event definition Bits 15-8 - Capability (see page B-34) Bits 7- - Condition (see page B-34) Parameter 5 - Bits 31-16 : Reserved Bits 15Hibernation timer during suspend mode ex
Set System Event 2 Condition Input Field Major Function Number - 32 Minor Function Number - 1 Parameter 1 - Condition for system timer expiration Bits 15-8 - Capability (see page B-34) Bits 7- Condition (see page B-34) Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Bits 31-16 : Reserved Bits 15- Condition for standby timer expired Bits 15-8 - Capability (see page B-34) Bits 7- - Condition (see page B-34) Parameter 5 - Bits 31-16 : Reserved Bits 15- Condition for hibernation timer during suspen
Get System Timer Input Field Major Function Number - 32 Minor Function Number - 2 Parameter 1 - Bits 15-8 Power mode select = h - Reserved = 1h - Manual PM mode (ac) = 2h - Manual PM mode (battery) = F3h - High performance mode = F4h - Auto power management mode Bits 7- Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Reserved Parameter 1 - Bits 15-8 System timer capability Bit 8 = - Timer c
Set System Timer Input Field Major Function Number - 32 Minor Function Number - 3 Parameter 1 - Bits 15-8 Power mode select = h - All mode = 1h - Manual PM mode (AC) = 2h - Manual PM mode (battery) = F3h - High performance mode = F4h - Auto power management mode Bits 7- System timer initial value (units: minutes) = h - Disable system timer Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Reserved Par
Get Hibernation Timer Input Field Major Function Number - 32 Minor Function Number - 6 Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Reserved Parameter 1 - Reserved Parameter 2 - Bits 15-8 : Reserved Bits 7- Hibernation timer during suspend mode initial value (units: minutes) = h - Disable hibernation timer during suspend mode Parameter 3 - Reserved Parameter 4 - Reserved Pa
Set Hibernation Timer Input Field Major Function Number - 32 Minor Function Number - 7 Parameter 1 - Bits 15-8 : Reserved Bits 7- Hibernation timer during suspend mode initial value (units: minutes) = h - Disable hibernation timer during suspend mode Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Reserved Parameter 1 - Reserved Parameter 2 - Reserved Reserved Parameter 3 - Reserved Parameter 4 - Re
Get System Event 3 Condition Input Field Major Function Number - 33 Minor Function Number Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Reserved Parameter 1 - Reserved Parameter 2 - Critical low battery condition detection event definition Bits 15-8 - Capability (see page B-34) Bits 7- Condition (see page B-34) Parameter 3 - Reserved Parameter 4 - Bits 16-31 : Reserved Bits
Set System Event 3 Condition Input Field Major Function Number - 33 Minor Function Number - 1 Parameter 1 - Bits 15-8 : Reserved Bits 7- Condition for critical low battery condition detection Bits 7- - Condition (see page B-34) Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Bits 31-8 : Reserved Bits 7- Condition for out-of-environment condition detection Bits 7- - Condition (see page B-34) Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Reserved Paramete
Get System Resume Condition Input Field Major Function Number - 34 Minor Function Number Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Reserved Parameter 1 - Reserved Parameter 2 - Condition for resuming trigger from system suspend mode Bit - Resume switch by hardware Bit 1 - LID open detection Bit 2 - RTC alarm (resume timer) detection Bit 3 - RI from the serial device dete
Set System Resume Condition Input Field Major Function Number - 34 Minor Function Number - 1 Parameter 1 - Condition for resuming trigger from the system suspend mode Bit - Resume switch by hardware Bit 1 - LID open detection Bit 2 - RTC alarm (resume timer) detection Bit 3 - RI from the serial device detection Bits 15-4 : Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Reserved Parameter 1
Get System Resume Timer Input Field Major Function Number - 34 Minor Function Number - 2 Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Reserved Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - TOD of resume timer (BCD format) Bits 7- Seconds ( -59) Bits 15-8 - Minutes ( -59) Bits 23-16 - Hours ( -23) Bits 31-24 - Reserved Parameter 5 - Date
Set System Resume Timer Input Field Major Function Number - 34 Minor Function Number - 3 Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - TOD of resume timer (BCD format) Bits 7- Seconds ( -59) Bits 15-8 - Minutes ( -59) Bits 23-16 - Hours ( -23) Bits 31-24 - Reserved Parameter 5 - Date of resume timer (BCD format) Bits 7- Day (1-31) Bits 15-8 - Month (1-12) Bits 23-16 - Year ( -99) Bits 3 -24 - Reserved Bit 31 - Resume date validation = - Valid (specified day) = 1 - Inval
Request System Standby Input Field Major Function Number - 7 Minor Function Number Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Reserved Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Request System Suspend Input Field Major Function Number - 7 Minor Function Number - 1 Parameter 1 - Reserved Parameter 2 -
Request System Hibernation Input Field Major Function Number - 7 Minor Function Number - 2 Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Output Field Return Code - Error status Auxiliary Return Code - Reserved Parameter 1 - Reserved Parameter 2 - Reserved Parameter 3 - Reserved Parameter 4 - Reserved Parameter 5 - Reserved Request System Off Input Field Major Function Number - 7 Minor Function Number - 3 Parameter 1 - Reserved Parameter
Samples Data Structure Assembler Language ; ; SMAPI BIOS Header ; SMB_HEADER STRUC @SMBHDR_SIG DB 4 dup (?) ; + - Signature @SMBHDR_VER DB ? ; + 4 - Major version @SMBHDR_VER_VER DB ? ; + 5 - Minor version @SMBHDR_LEN DB ? ; + 6 - Length @SMBHDR_CHKSUM DB ? ; + 7 - Checksum @SMBHDR_INFO DW ? ; + 8 - Information word @SMBHDR_RSV1 DW ? ; + A - Reserve 1 @SMBHDR_R_OFFSET DW ? ; + C - Real mode offset @SMBHDR_R_SEGMENT DW ? ; + E - Real mode segment @SMBHDR_RSV2 DW ? ; +1 - Reserve 2 @SMBHDR_P16_OFFSET DW ? ;
Parameters B-54 ; ;Input Parameter ; SMB_INPARM @SMBIN_FUNC @SMBIN_SUB_FUNC @SMBIN_PARM_1 @SMBIN_PARM_2 @SMBIN_PARM_3 @SMBIN_PARM_4 @SMBIN_PARM_5 SMB_INPARM STRUC DB DB DW DW DW DD DD ENDS ? ? ? ? ? ? ? ; ;Output Parameter ; SMB_OUTPARM @SMBOUT_RC @SMBOUT_SUB_RC @SMBOUT_PARM_1 @SMBOUT_PARM_2 @SMBOUT_PARM_3 @SMBOUT_PARM_4 @SMBOUT_PARM_5 SMB_OUTPARM STRUC DB DB DW DW DW DD DD ENDS ? ? ? ? ? ? ? SMAPI BIOS
C Language // // SMAPI BIOS Header // typedef struct { BYTE SMBHDR_SIG]4[ BYTE SMBHDR_VER BYTE SMBHDR_VER_VER BYTE SMBHDR_LEN BYTE SMBHDR_CHKSUM WORD SMBHDR_INFO WORD SMBHDR_RSV1 WORD SMBHDR_R_OFFSET WORD SMBHDR_R_SEGMENT WORD SMBHDR_RSV2 WORD SMBHDR_P16_OFFSET DWORD SMBHDR_P16_BASE DWORD SMBHDR_P32_OFFSET DWORD SMBHDR_P32_BASE } SMB_HEADER, PSMB_HEADER ; ; // Signature ; // Major version ; // Minor version ; // Length ; // Checksum ; // Information word ; // Reserve 1 ; // Real mode offset ; // Real mode
Parameters // // Input Parameter // typedef struct { BYTE SMBIN_FUNC BYTE SMBIN_SUB_FUNC WORD SMBIN_PARM_1 WORD SMBIN_PARM_2 WORD SMBIN_PARM_3 DWORD SMBIN_PARM_4 DWORD SMBIN_PARM_5 } INPARM, PINPARM ; // // Output Parameter // typedef struct { BYTE SMBOUT_RC BYTE SMBOUT_SUB_RC WORD SMBOUT_PARM_1 WORD SMBOUT_PARM_2 WORD SMBOUT_PARM_3 DWORD SMBOUT_PARM_4 DWORD SMBOUT_PARM_5 } OUTPARM, POUTPARM ; typedef INPARM far typedef OUTPARM far B-56 SMAPI BIOS ; ; ; ; ; ; ; ; ; ; ; ; ; ; FPINPARM; FPOUTPARM;
Function Declaration C Language // // SMAPI BIOS function // typedef WORD (far SMB)(FPINPARM, FPOUTPARM) ; SMAPI BIOS B-57
Installation Check Assembler Language: Real Mode ; ; FindSmapi ; ----------; ; On Entry : None ; On Exit : CF = .. Find out ; DX - Segment ; BX - Pointer to header ; ; CF = 1 .. No SMAPI BIOS ; FindSmapi Proc Near push push push push eax cx si ds mov mov mov mov mov ax, BIOS_SEG ; F Segment ds, ax bx, ; Start point cx, SMB_CAND_CNT ; Total check count eax, 'BMS$' ; Target strings cmp je add loop stc jmp eax, dword ptr ds:[bx].
@@: ; mov Find Smapi Head dx, BIOS_SEG ; pushf cld mov xor movzx Calculate Checksum.. next. ; Save direction flag ; Clear it si, bx ax, ax cx,byte ptr ds:[bx].
C Language typedef struct { BYTE SMBHDR_SIG[4] ; // Signature BYTE SMBHDR_VER ; // Major version BYTE SMBHDR_VER_VER ; // Minor version BYTE SMBHDR_LEN ; // Length BYTE SMBHDR_CHKSUM ; // Checksum WORD SMBHDR_INFO ; // Information word WORD SMBHDR_RSV1 ; // Reserve 1 WORD SMBHDR_R_OFFSET ; // Real mode offset WORD SMBHDR_R_SEGMENT ; // Real mode segment } SMB_HEADER_REAL, far PFSMB_HEADER_REAL ; B-60 SMAPI BIOS
BOOLEAN GetSmapiEntry(PSMB pFunc) { PFSMB_HEADER_REAL MyPtr = xF WORD cnt = ; BYTE cksum = ; ; // // 1) Search for signature first // while((cnt++ < x1 ) && !(((MyPtr->SMBHDR_SIG)[ ] == '$') && ((MyPtr->SMBHDR_SIG)[1] == 'S') && ((MyPtr->SMBHDR_SIG)[2] == 'M') && ((MyPtr->SMBHDR_SIG)[3] == 'B') )) { MyPtr++ ; } // // 2) Find the Signature? // if (cnt >= x1 ) { // We cannot find it.
BIOS Call Assembler Language: 16-Bit Protected Mode ; ; Build Input Parameter Field ; mov mov al, SMB_GET_SYSID [bx].@Func, al push mov push push ds ax, offset OutputParm ax ds mov push call add ax, offset InputParm ax _SmapiBios sp, 8 ; ; Get information from Output Parm ; or ax, ax jnz Error mov mov B-62 SMAPI BIOS bx, offset OutputParm al, [bx].
32-Bit Protected Mode ; ; Build Input Parameter Field ; mov ebx, offset InputParm mov al, SMB_GET_SYSID mov [ebx].@Func, al push mov push push mov push call add ds eax, offset OutputParm eax ds eax, offset InputParm eax _SmapiBios sp, 16 ; ; Get information from Output Parm ; or ax, ax jnz Error mov mov ebx, offset OutputParm ax, [ebx].
C Language WORD GetSystemID() { SMB SmapiEntry ; INPARM MyInput ; OUTPARM MyOutput ; WORD Rc = -1 ; if (GetSmapiEntry(&SmapiEntry)) { MyInput.SMBIN_FUNC MyInput.SMBIN_SUB_FUNC = = ; ; if (SmapiEntry(&MyInput, &MyOutput)) { // No System ID is available } else { Rc = MyOutput.SMBOUT_PARM_1 ; } } else { // No SMAPI BIOS interface. // Try to use CBIOS INT 15.
Appendix C. Appendix C :subject=Notices. The following paragraph does not apply to the United Kingdom or any country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
C-2 SMAPI BIOS
Index A acoustical readings, specifications 1-9 address 20 gate 2-29 address and NMI mask register, RT/CMOS 2-19 address map, system board I/O 1-5 address map–RT/CMOS RAM 2-18 air temperature, specifications 1-8 alternative method of resetting 2-29 altitude, specifications 1-8 anticipated page miss 1-7 audio subsystem 3-6 B battery 2-23 battery pack, specifications 1-12 boot selectable drive-startup sequence 2-32 bus adapter 2-3 bus master access to system board RAM, specifications 1-7 C cables 1-8 cache
G gate A20 L 2-29 H hard disk drive connector 2-8 hard disk password 2-31 hardware compatibility 2-33 heat output, specifications 1-8 height, system unit 1-8 humidity, specifications 1-8 I identifier, model 1-2 infrared subsystem 3-8 interrupt controller 1-4 IR subsystem 3-8 display 3-8 J joystick/MIDI port 3-12 K key number 2-4 key numbers for the 85-key keyboard 2-5 key numbers for the 86-key keyboard 2-5 key numbers for the 90-key keyboard 2-6 key numbers for the external numeric keypad 2-7 keyboar
O output protection, power supply 1-11 output voltage sequencing overvoltage fault 1-11 1-11 P page hit 1-7 page miss 1-7 parallel controller port 1-4 passwords hard disk 2-31 power-on 2-31 supervisor 2-31 PC Card subsystem 3-9 PCI error check enable 2-31 PCMCIA 3-9 interface 1-6 slots 1-4 Pentium 90/120 MHz 1-3 performance, system 1-7 POST cache test 2-2 error codes 2-34 memory errors 2-16 password 2-29, 2-31 reset 2-29 ROM test 2-15 power supply 1-10 power-on password 2-29, 2-31 power-on self-test (POST
RT/CMOS (continued) real-time clock bytes (continued) status register B (hex 00B) 2-22 status register C (hex 00C) 2-23 status register D (hex 00D) 2-23 S scan codes 2-4 selectable drive-startup sequence 2-32 sequencing, output voltage 1-11 serial port 1-4 shutdown status byte, RT/CMOS RAM configuration 2-24 size, specifications 1-8 SMAPI assembler sample B-8 BIOS call B-62 C language sample B-9 calling convention B-6 configuration B-22 display device B-14, B-22 display device, set B-24 docking station B-1
system board (continued) devices (continued) parallel controller port 1-4 RAM subsystem 1-3 serial controller port 1-4 system timers 1-3 video subsystem 1-3 I/O address map 1-5 system control port A 2-29 system control port B 2-30 system management API (SMAPI) B-1 system memory map 2-16 system resources A-1 system timers 1-3 W weight, system unit 1-8 width, system unit 1-8 T temperature 1-8 TFT LCD (thin-film transistor liquid crystal display) 3-2 thin-film transistor liquid crystal display (TFT LCD) 3-2