PS2 Model 25 Technical Reference Jun87
PS2 Model 25 Technical Reference Jun87
PS2 Model 25 Technical Reference Jun87
CAUTION
This product is equipped with a 3-wire power cord and plug for the
user's safety. Use this power cord in conjunction with a properly
grounded electrical outlet to avoid electrical shock.
The following paragraph does not apply to the United Kingdom or any country where
such provisions are inconsistent with loeallaw: INTERNATIONAL BUSINESS
MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WAR-
RANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTIC-
ULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties
in certain transactions, therefore, this statement may not apply to you.
It is possible that this publication may contain reference to, or information about, IBM
products (machines and programs), programming, or services that are not announced
in your country. Such references or information must not be construed to mean that
IBM intends to announce such IBM products, programming, or services in your country.
Requests for copies of this publication and for technical information about IBM pro-
ducts should be made to your IBM Authorized Dealer or your IBM Marketing Represen-
tative.
iii
Prerequisite Publications
Additional Information
Iv
Contents
v
Parallel Port ........................................ 1-120
Port Registers ................................... 1-120
Connector ...................................... 1-124
Beeper ............................................ 1-125
Earphone Connector ................................. 1-125
Connectors ......................................... 1-126
Specifications ....................................... 1-128
vi
Interrupt 12H - Memory Size Determination ............. 5-29
Interrupt 13H - Diskette ............................. 5-30
Interrupt 14H - Asynchronous Communications .......... 5-37
Interrupt 15H - System Services ...................... 5-42
Interrupt 16H - Keyboard ............................ 5-49
Interrupt 17H - Printer .............................. 5-53
Interrupt 19H - Bootstrap Loader ...................... 5-54
Interrupt 1AH - Time of Day .......................... 5-55
BIOS Data Area and Locations .......................... 5-56
Extended BIOS Data Area .............................. 5-61
ROM Tables ......................................... 5-62
Asynchronous Baud Rate Initialization Table ............ 5-62
Diskette Parameter Table ........................... 5-62
Model Byte .......................................... 5-63
vii
Index ....... '........................................ X-17
vIII
Figures
ix
1-39. Interrupt Control Register ....................... 1-51
1-40. Character Generator Interface and Sync Polarity
Register ..................................... 1-51
1-41. Monitor Sense Bits ............................ 1-52
1-42. CGA Mode Register ............................ 1-54
1-43. CGA Border Control Register .................... 1-55
1-44. Modes 4 and 5 Color Selection ................... 1-55
1-45. Status Register ............................... 1-56
1-46. Extended Mode Control Register ................. 1-56
1-47. Last Palette Command ......................... 1-60
1-48. Color Palette Data Register ...................... 1-61
1-49. Memory Controller Initialization .................. 1-62
1-50. Video Formatter Initialization Table ............... 1-63
1-51. 16-Color Compatibility Initialization ............... 1-63
1-52. Font Memory Map ............................. 1-64
1-53. Sample Character ............................. 1-65
1-54. Block Specifier .... . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1-68
1-55. Alternate Parameter Table ...................... 1-70
1-56. Write to Palette Address Register ................. 1-72
1-57. Read Palette Address Register ................... 1-72
1-58. Write Color followed by a Read ................... 1-73
1-59. Write Color followed by a Write ................... 1-74
1-60. Read Color followed by a Read ................... i -75
1-61. Read Color followed by a Write ................... 1-76
1-62. Display Connector ............................. 1-77
1-63. RAS Port A, Hex 3FO ........................... 1-79
1-64. RAS Port B, Hex 3F1 ........................... 1-79
1-65. Digital Output, Hex 3F2 ......................... 1-80
1-66. Digital Input, Hex 3F7 .......................... 1-80
1-67. Configuration Control, Hex 3F7 ................... 1-81
1-68. Main Status Register ........................... 1-82
1-69. Read Data Command .......................... 1-86
1-70. Read Data Result .............................. 1-86
1-71. Read Deleted Data Command .................... 1-87
1-72. Read Deleted Data Result ....................... 1-87
1-73. Read a Track Command ........................ 1-88
1-74. Read a Track Result ........................... 1-88
1-75. Read ID Command . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1-89
1-76. Read ID Result ................................ 1-89
1-77. Write Data Command .......................... 1-90
1-78. Write Data Result .............................. 1-90
1-79. Write Deleted Data Command .................... 1-91
1-80. Write Deleted Data Result ....................... 1-91
x
1-81. Format a Track Command ....................... 1-92
1-82. Format a Track Result .......................... 1-92
1-83. Scan Equal Command .......................... 1-93
1-84. Scan Equal Result ............................. 1-93
1-85. Scan Low or Equal Command .................... 1-94
1-86. Scan Low or Equal Result ....................... 1-94
1-87. Scan High or Equal Command ................... 1-95
1-88. Scan High or Equal Result . . . . . . . . . . . . . . . . . . . . . .. 1-95
1-89. Recalibrate Command .......................... 1-96
1-90. Sense Interrupt Status Command ................. 1-96
1-91. Sense Interrupt Status Result .................... 1-96
1-92. Specify Command ............................. 1-97
1-93. Sense Drive Status Command .................... 1-97
1-94. Sense Drive Status Result ....................... 1-97
1-95. Seek Command ............................... 1-98
1-96. Invalid Command Result ........................ 1-98
1-97. Diskette Drive Connector . . . . . . . . . . . . . . . . . . . . . .. 1-104
1-98. Serial Port Block Diagram ...................... 1-105
1-99. Serial Port Addresses ......................... 1-107
1-100. Transmitter Holding Register ................... 1-107
1-101. Receiver Buffer Register ....................... 1-108
1-102. Divisor Latch ................................ 1-108
1-103. Interrupt Enable Register ...................... 1-109
1-104. Interrupt Identification Register. . . . . . . . . . . . . . . . .. 1-110
1-105. Line Control Register ......................... 1-111
1-106. Modem Control Register ....................... 1-112
1-107. Line Status Register .......................... 1-113
1-108. Modem Status Register ........................ 1-115
1-109. Serial Port Connector ......................... 1-119
1-110. Serial Interface Specifications .................. 1-119
1-111. Parallel Port Block Diagram .................... 1-120
1-112. Printer Control Register ....................... 1-121
1-113. Printer Status Register ........................ 1-122
1-114. Parallel Port Signal Timing ..................... 1-123
1-115. Parallel Port Connector ........................ 1-124
1-116. Beeper Tone Generation ....................... 1-125
1-117. System Board Connector Location ............... 1-126
1-118. Power Supply Connector ....................... 1-127
1-119. Keyboard Connector and POinting Device ......... 1-127
2-1. Coprocessor Data Types ......................... 2-4
2-2. Coprocessor Interconnection ..................... 2-5
3-1. V ac Input Requirements ......................... 3-4
3-2. V dc Output ................................... 3-4
xi
3-3. Output Protection ............................... 3-5
3-4. Power Supply Connector ......................... 3-6
4-1. Keyboard Data Stream .......................... 4-6
4-2. Commands from the Keyboard .................... 4-7
4-3. Scan Codes (Part 1 of 4) ......................... 4-9
4-4. Scan Codes (Part 2 of 4) ........................ 4-10
4-5. Scan Codes (Part 3 of 4) ........................ 4-10
4-6. Scan Codes (Part 4 of 4) ........................ 4-10
4-7. Scan Codes for 84/85 Numeric Keypad ............. 4-11
4-8. 101-Key Keyboard Layout ....................... 4-12
4-9. 102-Key Keyboard Layout ....................... 4-13
4-10. 84-Key Keyboard Layout ........................ 4-14
4-11. 85-Key Keyboard Layout ........................ 4-15
4-12. Character Codes .............................. 4-16
4-13. Special Character Codes ........................ 4-19
4-14. Keyboard Extended Functions .................... 4-20
4-15. Keyboard Cable Connectors ..................... 4-46
5-1. Software Interrupt Listing ........................ 5-5
5-2. BASIC and DOS Interrupts ....................... 5-7
5-3. Reserved Memory Locations ............... . . . . . .. 5-7
5-4. BASIC Workspace Variables ...................... 5-8
5-5. BIOS Memory Map ............................. 5-8
6-1. 8086 Register Model ............................ 6-3
6-2. Flag Register .................................. 6-4
6-3. Segment Override Prefix ......................... 6-5
6-4. reg Field Assignment ........................... 6-5
6-5. mod Field Assignment ........................... 6-6
6-6. rim Field Assignments .......................... 6-6
6-7. Conditional Transfer Operations .................. 6-19
xii
SECTION 1. System Board
System dc power and a 'power good' signal from the power supply
enter the system board through a 12-pin connector. Other connectors
on the system board are for attaching the keyboard, pointing device,
coprocessor, display, earphone, serial and parallel devices, fan, and
storage media.
1/0 Channel
8086
00-07
08-015
System Display
Support
Gate
Array
8087 1/0
00-07 Support
Gate
Array
08-015
Async
640K
RAM Printer
Fixed
Disk
The memory read and write are 16-bit operations and take four clock
cycles of 125 ns, with no wait states, for a cycle time of 500 ns.
Normal 1/0 operations are 8-bit operations and take eight clock
cycles, including four wait states, for a cycle time of 1 j.ls. A signal on
the 1/0 channel, 1/0 channel ready (1/0 CH ROY), allows slower
devices to add more wait states to 1/0 and OMA operations (see "1/0
Channel" later in this section).
Logic has been added to the system board to support options for the
IBM Personal Computer family. This includes converting 16-bit oper-
ations to sequential 8-bit operations, inserting wait states into all 1/0
and OMA operations, and delaying microprocessor cycles to ensure
address setup times greater than or equal to the 8088-based systems.
The system support gate array contains the bus controller, the
memory controller and parity checker, the wait-state generator and
bus conversion logic, the system clock generator, and the DMA page
register and support logic.
Bus Controller
The Type 8525 has three bus masters on the local bus: the micro-
processor, the coprocessor, and the system support gate array. The
gate array seizes the bus to generate memory refresh and DMA bus
cycles. It controls two request/grant lines (CPU RQ/GT and NPU
RQ/GT). One is connected to the microprocessor and the other to the
coprocessor.
The parity checker function generates the parity bits for system
memory and activates the '-parity check' signal when a parity error is
detected. Only the read/write memory on the system board is
checked.
The bus conversion logic converts word transfers to I/O devices into 2
single-byte transfers. Sixteen-bit transfers are only supported for the
system's read-only and readlwrite memory.
Additional logic generates the needed wait states for the micro-
processor bus cycles to 1/0 devices. This logic monitors the '1/0 CH
ROY' line to determine the wait states required.
The clock generator generates the 'reset' signal after sensing the
'power good' signal from the power supply.
The 110 support gate array contains the chip select (CS) logic, key-
board and pointing device controller, and 110 ports. It also contains
the interrupt controller.
The gate array controls the following CS signals on the system board:
• Serial port
• Diskette controller
• Video controller
• Parallel port
• Fixed disk controller
Bit Function
The interface logic for the keyboard and the pointing device is the
same, allowing the keyboard and pointing device to plug into either of
the two 6-pin connectors at the rear of the system.
The interface recetves the serial data and checks the parity. The data
is then presented to the system at the interface's output buffer, I/O
port hex 60.
System Timer
System Timer
System B us
Gate 0
.--- Clock in 0
+5Vdc Gate 1
- RAS-.SIP L Clock in 1
110 Port
Hex 0061 Gate 2
Port Bit 0
Clock in 2
IROO
Clock Out 0
1.19 MHz
Clock Out 1
I Driver I
Clock Out 2 J I
110 Port IANDI Low ~ToBeep er
Hex 0061 Pass
Port Bit 1 Filter
Channel 1 Diagnostic
Bit Function
7 Reserved
6 Reserved
5 -ENA I/O CH CK
4 -EN A RAM Parity CK
3 Reserved
2 Reserved
1 Beeper Data
o Timer 2 Gate (to beeper)
Port 61
Bit Connected to Description
7 Parity
6 1/0 CH CK
5 Timer 2 Output
4 Reserved
3 Reserved
2 -Disk Installed
1 Coprocessor installed
o Reserved
Port 62
Bit Connected to Description
The 8237 Direct Memory Access (DMA) controller and its support
logic in the gate array support four channels of 20 address bit DMA.
It operates at 4 MHz and handles only 8-bit data transfers. The DMA
channel assignments and page register addresses are:
Level Assignment
Hex
Address DMA Page Register
081 Channel 2
082 Channel 3
083 Channel 1
087 Channel 0
Three of the DMA channels (1, 2, and 3) are available on the I/O bus
and support high-speed data transfers between I/O devices and
memory without microprocessor intervention.
DMA data transfers take six clock cycles of 250 ns, or 1.5 micro-
seconds. 1/0 CH RDY can be pulled inactive to add wait states to
allow more time for slower devices.
Interrupts
The interrupt controller has eight levels of interrupts that are handled
according to priority in the I/O support gate array. Two levels are
used only on the system board. Level 0, the highest priority, is
attached to Channel 0 of the timer/counter and provides a periodic
interrupt for the timer tick. Level 1 is shared by the keyboard and the
pointing device. It is handled by a BIOS routine pointed to by inter-
rupt hex 71. Level 2 is available to the video subsystem, and level 7
is available to the parallel port; however, the BIOS routines do not
use interrupts 2 and 7. Level 4 is used by the serial port.
The following table shows the hardware interrupts and their avail-
ability to the I/O channel.
Note: Interrupts are available to the I/O channel if they are not enabled by the
system board function normally assigned to that interrupt.
Interrupt Sharing
Design Overview
Each adapter sharing an interrupt level must monitor the IRQ line.
When any adapter pulses the line, all other adapters on that interrupt
must not issue an interrupt request until they are rearmed.
+5
INT D Of----1D o
ENA
>ClK -0 >ClK -0
-ClR -ClR 2.2K Ohms
Syslem
Clock -----e>---+------'
+5 Tri 5Ial"::>'----*"- -IRO
,-----,
D 0
Program Support
Sharing the Interrupt Level: When the new task's handler gains
control as a result of an interrupt, the handler reads the contents of
the adapter's Interrupt Status register to determine whether its
adapter caused the interrupt. If its adapter did cause the interrupt,
the handler services the interrupt, disables (clears) the interrupts
(eLi), and writes to address hex 02FX, where X corresponds to inter-
rupt levels 2 through 7. Each adapter in the chain decodes the
address, which results in a Global Rearm. The handler then issues a
nonSpecific End of Interrupt (EOI) and finally issues a Return from
Interrupt (lRET). If its adapter did not cause the interrupt, the handler
passes control to the next interrupt handler in the chain.
Unlinking from the Chain: To unlink from the chain, a task must first
locate its handier'S position within the chain. By starting at the inter-
rupt vector in low memory and using the offset of each handler's
forward pointer to find the entry point of each handier, the chain can
be methodically searched until the task finds its own handler. The
forward pointer of the previous handler in the chain is replaced by the
task's pointer, removing the handler from the chain.
Note: If the handler cannot locate its position in the chain or, if the
signature of any prior handler is not hex 4248, it must not unlink.
The flag indicates that the handler is first in the chain and is used
only with interrupt 7. The Reset routine disables the adapter's inter-
rupt and then does a Far Return to the operating system.
ROM Considerations
Because the forward pointer is not stored in the third byte, these han-
dlers must contain a signature of hex 00.
Examples
The next 512K (from 128K to 640K) is standard and is arranged as two
banks of 256K by 9-bit single-inline packages (SIPs). All read/write
memory is parity-checked.
The System Board RAM Control/Status register, hex 6B, is part of the
system gate array and may be used to remap memory. Remapping
occurs when the power-on self-test (POST) senses memory on the I/O
channel that is in contention with system memory. Also, if the first
128K is not installed or a failure in the first 128K is sensed, POST
remaps the remainder of memory to allow the system to operate.
Bit Function
ROM
The system board has 64K by 8-bits of ROM or erasable program-
mable read-only memory (EPROM). Two module sockets are pro-
vided; both sockets have 32K by 8-bits of ROM. This ROM contains
POST, BIOS, dot patterns for 128 characters in graphics mode, and a
diskette bootstrap loader. The ROM is. packaged in 28-pin modules.
Four voltage levels are provided for 1/0 cards. The maximum avail-
able values (for each slot) in the following chart are for systems with
two diskette drives.
The maximum available values (for each slot) in the following chart
are for systems with a fixed disk and a diskette drive.
The 'I/O CH ROY' line is available on the 1/0 channel to allow opera-
tion with slow 110 or memory devices. 1/0 CH RDY is made inactive by
an addressed device to lengthen the operation. For each clock cycle
that the line is held low, one wait state is added to the 1/0 and OMA
operations.
The following is the liD address map for the IBM Personal System/2
Model 25. Hex 0100 to FFFF are available for use by adapters on the
liD channel, except for those addresses noted.
Note: 1/0 Addresses, hex 000 to OFF, are reserved for the system board 1/0 .
• The NMI mask can be set and reset through system software as follows:
The '-liD channel check' signal (-110 CH CK) causes an NMI to the
microprocessor.
The following figure shows the pin numbering and signal assignments
for the I/O channel connectors.
Rear Panel
Ground 81 A1 -I/O CH CK
RESET ORV 07
+5 V 06
IRQ 2 05
-5 V 04
ORQ2 03
-12 V 02
Reserved 01
+12 V DO
Ground 810 A10 I/O CH ROY
-MEMW AEN
-MEMR A19
-lOW A18
-lOR A17
-OACK3 A16
ORQ3 A15
-OACK1 A14
DRQ1 A13
-MREF A12
ClK 820 A20 A11
IRQ7 A10
IRQ6 A9
IRQ5 A8
IRQ4 A7
IRQ3 A6
-OACK2 A5
TC A4
ALE A3
+5 V A2
OSC A1
Ground 831 A31 AO
The following is a description of the 1/0 channel signal lines. All lines
are TTL-compatible. The (0), (I), or (1/0) notation refers to output,
input, or input and output.
AO-A19 (0): Address bits 0 to 19: These lines are used to address
memory and 1/0 devices within the system. The 20 address lines
allow access to 1M of address space. Only the lower 16 lines are
used in 1/0 addressing, and all 16 should be decoded by 1/0 devices.
AO is the least significant and A19 is the most significant. These lines
are generated by either the microprocessor or the DMA controller.
AEN (0): Address Enable: This line is used to de-gate the micro-
processor and other devices from the 1/0 channel to allow DMA trans-
fers to take place. When this line is active, the DMA controller has
control of the address bus, data bus, and Read and Write command
lines. When this line is inactive, the microprocessor has control.
This line should be part of the adapter-select decode to prevent incor-
rect adapter selects during DMA operations.
ALE (0): Address Latch Enable: This line is provided by the bus
controller and is used on the system board to latch valid addresses
from the microprocessor. Addresses are valid at the falling edge of
ALE and are latched onto the bus while ALE is inactive. This signal is
forced active during DMA cycles.
ClK (0): System clock: This is the system clock signal with a fre-
quency of 8 MHz and a 33% duty cycle.
1/0 CH RDY (I): I/O Channel Ready: This line, normally active
(ready), is pulled inactive (not ready) by a memory or I/O device to
lengthen I/O or memory cycles. It allows slower devices to attach to
the I/O channel with a minimum of difficulty. Any slow device using
this line should drive it inactive immediately after detecting a valid
address and a Read or Write command. For every clock cycle this
line is inactive, one wait state is added. This line should not be held
inactive longer than 17 clock cycles.
-lOR (0): -I/O Read: This command line instructs an I/O device to
drive its data onto the data bus. This signal is driven by the micro-
processor or the DMA controller.
-lOW (0): -I/O Write: This command line instructs an I/O device to
read the data on the data bus. This signal is driven by the micro-
processor or the DMA controller.
RESET DRV (0): Reset Drive: This line is used to reset or initialize
system logic upon power-up or during a low line-voltage. This signal
is synchronized to the falling edge of elK.
Signal Timings
The following diagrams show the 1/0 signal timings for 1/0 and
memory operations.
ALE
~~--------------------
AO-A18==><___________________________________~
-lOW ~~------------_/
f-t8-1 h9-1
00-07
<~----------~>---
f----- t1 0 -----j I- t11-j ~
f--t12---,
110 CH ROY V~-
~I----------t4--------~I~t5~
~EMR
~'---------'/
~-D7 ------------~<
t6 ----------11
f--------- 1-t7-j
r__
[
MEMW _ _ _ ""~'--~--------t4~~~:/
f---- t8 -l 1-t9 ~
1/0 CH ROY
ALE ~
f-- t1 + ~-----------------------------------
t21
AEN ~
f-- t3-1
A1-A19 5S><_______________~
AO
_s----'------_ _ _~/ ~
f----t4----1 f---- t4 --t t51
POR
f---- t6 ---1 ~ t71 f-- t6 ---1 f-- t7-1
~o-D7 ----------<0>----0-
f------ ----j r--- t4 t4---j
pow
f- t8-i ~ t91 f- t8-i f-- t9-i
~0-D7 <1 > < >--
~t101 ~ t11
t12 -i
~t10j 1 ~
t12 -1
t11
I/O CH ROY
"'J "'J
Symbol Description Min (ns) Max (ns)
ALE
~------
f-t1-tt21
~
AEN
~t3~
A1-A19 §><_______________~
AO
-~--------"'-----~/ '\SS
~t4---i ~t4~t51
r i
t10 1- J.--
t12-1
t11 r i
t10 1- j.- t11
t12~
I/O CH ROY
"'J
Symbol Description Min (ns) Max (ns)
-MREF ~~---------'~
f---t1--j
AO- A7 -~~-~-~~~~--------------------~
rt2 t3 t4 -j
-MEMR ""''-_ _ _ _ _ _ _ _ ~/
f-- t5 -+- t6 -t-- t7---1
I/OCHROY ~
Symbol Description Min (ns) Max (ns)
~~---------------
DRO(n) /
_ _ _~lt11
-DACK(n) ~ /
~--------------~
r- t2 -i--t4~t31
-lOW --------.,~ /~---
f---t5---1
AEN
------'/
AO - A19 "">,"""""" X r t7-j
X""""""""
f-ts-1
~ t9 I--- t10----1
-MEMR -----'--,~ /~---
...=;j
I----- t13 ~.~ ~ t14
TC
Symbol
----~/
Description
"''----- Min (ns) Max (ns)
'" /
-OACK (n)
I t2 I t4 It3 I
-lOR
/
AEN
~ '"
f--- t5 ----1 It61
~
At the BIOS level (interrupt hex 10), the Type 8525 maintains compat-
ibility with the IBM Color Graphics Adapter (CGA).
The video modes are compatible with those modes supported by the
color graphics adapter with two modes added. The additional modes
are the 320-by-200 graphics with 256 colors available and the
640-by-480 graphics with two colors available.
Video 8KRAM
Loadable
~
Memory
Control Character
Gate Generator
125MHZ~
Oscillator
Array MA 0-7
r---
Video
Buffer
(64K) -
I-- I-
DO-D7
1/0 R/W L
3DX Decod e
AO-A15
~
Video
Formatter
Gate r--
Address r- Array
- MUX 256x18
Color
Palette
with DACs
RGB
Syncs Analog
Monitor Sense 0 and 1 Monitor
The video subsystem supports a 31.5 kHz analog color display or 31.5
kHz analog monochrome display. The system senses the type of
display and matches the initialization to it. The polarity of the vertical
synchronization signal to the display determines the number of hori-
zontal scans, either 400 or 480. The number of scan lines in relation
to the polarity is:
Text Modes
In the text modes, the character box size is 8-by-16. The character
font table is loaded into the character generator. All 16 scan lines are
programmed into the character generator.
Graphics Modes
In the graphics modes, the character font table is used to create the
character PELs. For most graphics modes, the character box is an
8-by-8 character box that is double-scanned to create an 8-by-16 char-
acter; however, all 16 scan lines of the 8-by-16 box are not program-
mable.
7 6 543 2 o 7 6 543 2 1 0
Attribute Character
The following are the bit definitions of the attribute byte. Bit 7 selects
a blinking character, or if blinking is disabled, selects palette
addresses above hex 07 for the background color.
JIlts Function
There are two color sets: color set 0 and color set 1. For information
about the colors selected, see "CGA Border Control Register, 309,"
later in this section under "Video Formatter Registers."
In modes 6 and 11, one bit defines each PEL, with the most significant
bit defining the first PEL. The foreground color maps to the color in
the CGA Border Control register if the B&W bit in the CGA Mode
Control Register is O. If the B&W bit is 1, the foreground color maps
to palette address hex 07. The background color always maps to
address hex 00.
7 CO First PEL
6 CO
5 CO
4 CO
3 CO
2 CO
1 CO
0 CO Last PEL
In mode 13, a byte defines each PEL. This allows a choice of 256
colors for each PEL.
AOOOO
Character
I
Generator
Self-load
Storage
A7FFF
Not Used
Character Code
Attribute Code
0
I n
BFFFE
8FFFF
BOOOO
Not Used
0
0
BFFFE
BFFFF
The following is the memory mapping for graphics modes 11 and 13.
In mode 11, each byte defines eight PELs; in mode 13, each byte
defines one PEL.
o
o
AFFFE
AFFFF
Bit Function
7 Reserved
6 Reserved
5 Index5
4 Index4
3 Index3
2 Index2
1 Index1
0 IndexO
Index
(Hex) Register Description
00 Horizontal Total
01 Horizontal Characters Displayed
02 Start Horizontal Sync
03 Sync Pulse Width
04 Vertical Total
05 Vertical Total Adjust
06 Vertical Characters Displayed
07 Start Vertical Sync
08 Reserved
09 Scan Lines per Character
OA Cursor Start
OB Cursor End
OC Start of Screen High
OD Start of Screen Low
OE Cursor Position High
OF Cursor Position Low
10 Mode Control
11 Interrupt Control
12 Character Generator Interface and Sync Polarity, or
Display Sense
13 Character Font Pointer
14 Number of Characters to Load
20 Reserved
Start Horizontal Sync Register, Index 02: This register specifies the
character position count at which the 'horizontal sync' signal
becomes active.
Sync Pulse Width Register, Index 03: This register specifies the
pulse widths of the horizontal and vertical synchronization signals.
The horizontal pulse width is programmed in units of character
clocks. The vertical pulse width is programmed in units of the hori-
zontal synchronization period. This register is programmed to match
the display specifications.
Bit Function
7 Width VSync3
6 VSync2
5 VSync1
4 VSyncO
3 Width HSync3
2 HSync2
1 HSync1
0 HSyncO
Vertical Total Register, Index 04: This register contains the 8 least
significant bits for the total number of scan lines in the vertical scan
interval. The most significant bit is the inversion of bit 6 of the Mode
Control register. The total number consists of both the displayed and
nondisplayed scan lines. This register and the Vertical Total Adjust
register determine the frequency of the 'vertical sync' signal.
Bit Function
7 Reserved
6 Reserved
5 VAdjust5
4 VAdjust4
3 VAdjust3
2 VAdjust2
1 VAdjust1
0 VAdjustO
Start Vertical Sync Register, Index 07: This register contains the 8
least significant bits for the vertical scan line count. It determines
when the 'vertical sync' signal becomes active. The most significant
bit is the inversion of bit 6 of the Mode Control register.
Scan Lines per Character Register, Index 09: This register deter-
mines the number of horizontal scan lines in a character row. In text
modes, the value is hex 07. In graphics modes 4 through 6, the value
is hex 01, and in modes 11 and 13, the value is hex 00. The hardware
calculates the proper value based on the mode selected.
Bit Function
7 Reserved
6 Reserved
5 Reserved
4 Reserved
3 RowSize3
2 RowSize2
1 Row Size1
0 RowSizeO
Bit Function
7 Reserved
6 Reserved
5 Blank Cursor
4 Reserved
3 Cursor Start3
2 Cursor Start2
1 Cursor Start1
0 Cursor StartO
Cursor End Register, Index 08: This register determines the hori-
zontal scan line count when the cursor output becomes inactive. The
value should be greater than the value in the Cursor Start register.
The maximum is 7.
Bit Function
7 Reserved
6 Reserved
5 Reserved
4 Reserved
3 Cursor End3
2 Cursor End2
1 Cursor End1
o Cursor EndO
Start of Screen HI~h Register, Index OC: This register contains the 8
most significant bits for the starting memory address of the video
display buffer. Sixteen address bits determine the starting address.
lhis register is initialized to a value of hex 00.
Cursor Position High Register, Index OE: This register contains the
four most significant bits for the cursor location.
Bit Function
7 Reserved
6 Reserved
5 Reserved
4 Reserved
3 Cursor PositionB
2 Cursor PositionA
1 Cursor Position9
o Cursor PositionS
Cursor Position Low Register, Index OF: This register contains the
eight least significant bits for the location of the cursor. A value of
hex 00 in both of these registers will locate the cursor in the upper
left corner. The cursor is not supported in any graphics mode.
Mode Control Register, Index 10: Writing to this register selects the
type of display and clock times, and selects some of the graphics
modes.
Bit Function
7 Inhibit Write
6 Reserved = 0
5 Reserved
4 Clock = 1
3 Compatibility
2 Reserved
1 Mode 11
o 256 Color
Write
Bit 7 When set to 1, the Inhibit Write bit prevents any writes to the
horizontal and vertical registers. After a mode set, BIOS
sets this bit to 1 to prevent applications designed for other
color graphics adapters from altering those registers.
Bit Function
7 80x25
6 Reserved
5 Clock Select
4 Clock
3 Alpha Mode
2 Double-Scan
1 Mode 11
0 Mode 13
Read
Bit 7 This bit indicates the state of bit 0 in the CGA Mode Control
register. When set to 1, this bit indicates that 80-by-25 mode
is selected.
Bit 6 Reserved.
Bit 5 When this bit is 1, it indicates that the clock is not divided by
2, and the resolution is 640 PELs wide. When it is 0, the
resolution is 320.
Bit 4 When this bit is 1, it indicates that the dot clock is
25.175 MHz.
Bit 3 When set to 1, this bit indicates that the mode is a text mode.
Bit 2 When set to 1, this bit indicates that the scan lines are
double-scanned.
Bit 1 When set to 1, this bit indicates that mode 11 is selected.
Bit 0 When set to 1, this bit indicates that mode 13 is selected.
Bit Function
7 Tri-State Output
6 IRQ2 Status
5 -Enable IRQ2
4 -Clear IRQ2 Latch
3 Reserved
2 Reserved
1 Reserved
o Reserved
Bit 7 When set to 1, this bit disables (tri-states) the output drivers
and selects the Display Sense register to be read at index 12
instead of the Character Generator Interface and Sync
Polarity register.
Bit 6 When set to 1, this bit indicates that the memory controller is
causing an interrupt. This bit is read-only.
Bit 5 When cleared to 0, this bit enables the interrupt.
Bit 4 When cleared to 0, this bit holds the interrupt latch clear.
Bits 3-0 These bits are reserved and should be 0.
Bit Function
Display Sense Register, Index 12: This register contains the sensed
levels of the monitor sense 1 and 0 signals at pins 13 and 14 of the
display connector. This information is used by BIOS to properly ini-
tialize all video registers to match the display. To read this register,
bit 7 of the Interrupt Control register is set to 1.
Sense 1 Sense 0
Bit 1 Bit 0 Type of Display Attached
o 0 Reserved
o 1 Analog Monochrome Display
1 0 Analog Color Display
1 1 No Display Attached
The video formatter registers at I/O addresses hex 308 and 309 dupli-
cate the functions of the 6845 registers in the color graphics adapter.
Registers are added at addresses hex 300 through 30F for Type 8525
initialization requirements. The video formatter registers at
addresses hex 3C6 through 3C9 control the color palette.
Register Description
Bit Function
7 Reserved
6 Reserved
5 Enable Blink
4 640-by-200 Mono
3 Enable Video
2 B&W
1 Graphics
o 80-by-25 Alpha
Bit Function
7 Reserved
6 Reserved
5 320-by-200 Palette Select
4 Alternate Intensity
3 to 0 Border Color
The following figure shows the effects of this register and the bit pair
C1,CO and how the two color sets map into the color palette.
BCR BCR
Bit 4 C1 CO Bit 5 Palette Address
X 0 0 X Background Color
0 0 1 0 02 Color Set 0
0 1 0 0 04 Color Set 0
0 1 1 0 06 Color Set 0
0 0 1 03 Color Set 1
0 1 0 05 Color Set 1
0 1 1 07 Color Set 1
Intensified Colors
0 1 0 OA Color Set 0
1 0 0 OC Color Set 0
1 1 0 OE Color Set 0
0 1 OB Color Set 1
1 0 OD Color Set 1
1 1 OF Color Set 1
Bit Function
7 Reserved
6 Reserved
5 Reserved
4 Reserved
3 Vertical Sync
2 Reserved
1 Reserved
o -Display Enable
Bit Function
Three registers are used to access the color palette: a mask register,
a read address register, and a write address register.
The color palette has 256 18-bit data registers and an 8-bit address
register. Each data register is divided into three 6-bit data areas, one
for each color. To load each data register takes three outputs in the
sequence of red, green, blue.
;-----Read color 14 to get the red, green, and blue values for yellow
Burst Load: This second call supports setting a block of color regis-
ters. Using this call, 1 to 256 color values can be set or read with a
single BIOS call. The BX register contains the address for the first
register to be set, and CX contains the number of registers. ES:DX
point to a table of color values, where each table entry contains the
red, green, and blue values for a color. The following example sets
the first 16 colors in the color palette.
PROC FAR
PUSH OS
XOR AX.AX
PUSH AX Return address for ODS
PUSH CS
POP ES Establish ES addressing for table
MOV AX. 1012H Set block of color register call
MOV BX.0 Start with color 0
MOV CX,16 Set 16 color registers
MOV DX.OFFSET CLR_TABLE ES:DX point to color table
INT 10H Make the video BIOS interrupt
RET
LABEL BYTE
DB 00H.00H.00H Black 00
DB 00H,00H,2AH Blue 01
DB 00H.2AH.00H Green 02
DB 00H.2AH.2AH Cyan 03
DB 2AH.00H.00H Red 04
DB 2AH.00H.2AH Magenta 05
DB 2AH.15H.00H Brown 06
DB 2AH.2AH.2AH ; White 07
DB 15H.15H.15H Gray 08
DB 15H.15H.3FH Lt bl ue 09
DB 15H.3FH.15H Lt green 0A
DB 15H.3FH.3FH Lt cyan 08
DB 3FH.15H.15H Lt red 0C
DB 3FH.15H,3FH Lt magenta 0D
DB 3FH.3FH.15H Lt yellow 0E
DB 3FH.3FH,3FH Bright White 0F
CODE ENDS
END
Reading this port returns the last command cycle to the palette. The
description of bits 1 and 0 is in the following table. All other bits
during a read of this port are reserved.
Bit Function
7 Not Used
6 Not Used
5 PO 5
4 PO 4
3 P03
2 PO 2
1 PO 1
o PO 0
The following figures show the video register values used by BIOS for
the various display modes.
00 Horz. Total 30 30 30 30 30 30
01 Horz. Displayed 27 27 27 27 27 27
02 Start Horz. Sync 2A 2A 2A 2A 2A 2A
03 Sync Pulse Width 26 26 26 26 26 26
04 Vert. Total 80 80 80 80 FF 80
05 Vert. Adjust 00 00 00 00 OA 00
06 Vert. Displayed 8F 8F 8F 8F OF 8F
07 Start Vert. Sync 98 98 98 98 E9 9B
08 Reserved XX XX XX XX XX XX
09 Char. Scan Lines 07 07 01 01 00 00
OA Cursor Scan Start 06 06 XX XX XX XX
OB Cursor Scan End 07 07 XX XX XX XX
OC Start of Screen (High) 00 00 00 00 00 00
00 Start of Screen (Low) 00 00 00 00 00 00
OE Cursor Position (High) 00 00 XX XX XX XX
OF Cursor Position (Low) 00 00 XX XX XX XX
."
IV
............... r' ................... 1
IVIVU'C'VVlll'VI 18 18 H,
IV 18 1A 19
11 Interrupt Control 30 30 30 30 30 30
12 Char. Gen/Sync Pol. 46 46 46 46 04 46
13 Char. Font Pointer 00 00 XX XX XX XX
14 Char. to Load FF FF XX XX XX XX
3C8 3C9
Index R G B Display Color
00 00 00 00 Black
01 00 00 2A Blue
02 00 2A 00 Green
03 00 2A 2A Cyan
04 2A 00 00 Red
05 2A 00 2A Magenta
06 2A 15 00 Brown
07 2A 2A 2A White
08 15 15 15 Gray
09 15 15 3F Light Blue
OA 15 3F 15 Light Green
OB 15 3F 3F Light Cyan
OC 3F 15 15 Light Red
00 3F 15 3F Light Magenta
OE 3F 3F 15 Yellow
OF 3F 3F 3F Bright White
In the text modes, the video buffer is divided into two data areas: the
text area at address B8000 and the character font tables at address
AOOOO. The text area consists of the character and attribute code for
each position on the display. The font table consists of the character
code and PEL data for each character in the set.
AOOOO
Font a
A2000
Font 1
A4000
Font 2
A6000
Font 3
ABOOO
Reserved
BOOOO
Reserved
B8000
Char/Attribute
Video
Buffer
BFFFF
o 00 00000000
1 00 00000000
2 7E 01111110
3 7E 01111110
4 60 01100000
5 60 01100000
6 7E 01111110
7 7E 01111110
8 60 01100000
9 60 01100000
10 7E 01111110
11 7E 01111110
12 00 00000000
13 00 0000000'0
14 00 00000000
15 00 00000000
Blocks 2 and 3 can be loaded in the same manner, until all four
blocks contain character font information. The characters that were
loaded into the blocks are not available for display until they are
transferred to the character generator.
The character generator is broken into two parts, or font pages. Each
font page contains 256 character definitions. The character generator
is loaded from the four blocks of 256 character definitions.
The Set Block Specifier call uses the input parameter in BL to specify
which blocks are loaded into the character generator. Only the low
nibble (4 bits) of BL is used. Bits t and 0 specify which block to load
into the first 256 positions of the character generator, or font page o.
The first 256 positions are the character definitions for characters
o - 255. Bits 3 and 2 indicate which block to load into the second 256
Video Subsystem 1-67
positions of the character generator, or font page 1. The second 256
positions of the character generator define characters 256 - 511. If
the two bit pairs are equal (bit 0 is the same as bit 2 and bit 1 is the
same as bit 3), only font page 0 is loaded, which limits the character
set to 256 characters. The following figure summarizes the bit pat-
terns that indicate with which blocks the character generator is
loaded.
Bit Number
3 2 1 0 Font Page 1 Font Page 0
0 0 0 Block 1 Block 0
0 0 1 Not Used Block 1
0 1 0 Block 1 Block 2
0 1 1 Block 1 Block 3
0 0 0 Block 2 Block 0
0 0 1 Block 2 Block 1
0 1 0 Not Used Block 2
0 1 1 Block 2 Block 3
0 a Block 3 Block 0
0 1 Block 3 Block 1
1 0 Block 3 Block 2
1 1 Not Used Block 3
To load block 0 into font page 0 and block 3 into font page 1, the fol-
lowing BIOS call is used.
Font page 0 now contains the character definitions from block 0, and
font page 1 the character definitions from block 3. Because font page
o specifies characters 0 through 255, and font page 1 specifies the
characters 256 through 511, 512 characters are now available for
display. The BIOS write character routines, however, accept the AL
register as the character to be displayed. That allows a range of
characters starting at 0 and stopping at 255, and appears to limit the
number of characters to 256. The solution is to use a bit in the attri-
bute byte to specify the font page (see "Programming
Considerations" later in this section). Whenever a 512 character set
To display character hex 30, the following BIOS call can be used.
To display character hex 130 (304), the following BIOS call can be
used. Attribute bit 3 is still used as the intensity bit in alpha modes.
MOV AH.09H : Write attribute/character at cursor pos.
MOV AL.30H : AL = character to write
MOV BH.00H Display Page 0
MOV eX.I : Display 1 character
MOV BL.07H : Intense white character on black background
OR BL.08H : Turn on attribute bit 3 to select font page 1
INT I0H
Entry Description
Normally, the auxiliary pointers, the third and fourth entries, are set
to all zeros. The Mode Set looks at these values and, if they are zero,
goes to the BIOS font table. If they are not zero, the Mode Set loads
the user font pointed to by the auxiliary pointer.
The pointer for SAVE_TBl exists at 40:A8. To use your own table,
create two tables, SAVE_TBl and, optionally, the font descriptor
table. Then set the pointer to point to the new SAVE_TBL.
The programmer can poll the Interrupt Control register, port 305
index 11, to determine whether the video caused the interrupt. The
IRQ2 status bit indicates that a vertical retrace interrupt did occur; it
does not indicate that the video is still in retrace. To find the status of
the 'vertical retrace' signal, check the CGA Status register, port 30A.
The Interrupt Control register also has 2 bits that control the interrupt
circuitry and 1 bit that controls the output of the video formatter. To
enable the interrupt
512 Character Set: When using a 512 character set on the Type 8525,
the following procedures are recommended to maintain consistent
colors.
-READ
40 column 80 column
Symbol Write to Register and 320APA and 640APA
(ns) (ns)
-READ
-WRITE
40 column 80 column
Symbol Read from Register and 320 APA and 640 APA
(ns) (ns)
-READ
RS1
RSO
Data
40 column 80 column
Symbol Write Color and 320 APA and 640 APA
(ns) (ns)
-READ
RS1
RSO ~ ~
Data
40 column 80 column
Symbol Write Color and 320APA and 640APA
(ns) (ns)
-WRITE--------------------------------------------
RS1
RSO
Data
40 column 80 column
Symbol Read Color and 320 APA and 640 APA
(ns) (ns)
~t2---1
-WRITE----------------------------------------~~
RS1
RSO
Data
40 column 80 column
Symbol Read Color and 320 APA and 640 APA
(ns) (ns)
1 0 0 2
3 0 0 4
5 0 0 6
7 0 0 8
9 0 0 10
11 0 0 12
13 0 0 14
1 Ground (Analog)
2 Red Video
3 Ground (Analog)
4 Green Video
5 Ground (Analog)
6 Blue Video
7 Ground (Analog)
8 Ground (Signal)
9 Hori.zontal Sync
10 Ground (Signal)
11 Vertical Sync
12 Ground (Signal)
13 Monitor Sense 0
14 Monitor Sense 1
The drives connect to the system board through a single 40-pin con-
nector, which supplies all signals necessary to operate two diskette
drives. The diskette drives are attached to the connector through an
internal, flat cable.
The diskette gate array has five registers: three registers that show
the status of signals used in diskette operations, and two registers
that control certain interface signals.
RAS Port A Register: The RAS Port A register, hex 3FO, is a read-
only register that shows the status of the corresponding signals.
Bit Function
7 IRQ6
6 DRQ2
5 Step (latched)
4 Track 0
3 -Head 1 Select
2 Index
1 Write Protect
o -Direction
RAS Port B Register: The RAS Port B register, hex 3F1, is a read-
only register that shows the status of signals between the diskette
drive and the controller.
Bit Function
7 Reserved
6 -Drive Select 1
5 -Drive Select 0
4 Write Data (latched)
3 Read Data (latched)
2 Write Enable (latched)
1 -Drive Select 3
o -Drive Select 2
Bit Function
7 Motor Enable 3
6 Motor Enable 2
5 Motor Enable 1
4 Motor Enable 0
3 DMA and Interrupt Enable
2 -Controller Reset
1,0 Drive Select 0 through 3
00 selects drive 0
01 selects drive 1
10 selects drive 2
11 selects drive 3
Digital Input Register: The Digital Input register, hex 3F7, is a read-
only register used to sense the state of the 'diskette change' signal. It
is also used for diagnostic purposes.
Bit Function
7 -Diskette Change
6 to 4 Reserved
3 DMA Enable
2 No Write Precomp
1 250K bps Rate Select
o Reserved
Bit Function
7 Reserved = 0
6 Reserved = 0
5 Reserved = 0
4 Reserved = 0
3 Reserved = 0
2 No Write Precomp
1 250K bps Rate Select
o Reserved = 0
Controller Registers
The diskette controller has two registers that are accessed by the
microprocessor: the Main Status register and the data register. The
Main Status register, hex 3F4, has the status information about the
controller and may be read at any time.
Data Registers, Hex 3F5: This address, hex 3F5, consists of several
registers in a stack, with only one register presented to the data bus
at a time. It stores data, commands, and parameters, and provides
diskette-drive status information. Data bytes are passed through the
data register to program or obtain results after a command.
Bit Function
Bit 7 The data register is ready for transfer with the micro-
processor.
Bit 6 This bit indicates the direction of data transfer between the
diskette controller and the microprocessor. If this bit is set
to 1, the transfer is from the controller to the micro-
processor; if it is clear, the transfer is from the micro-
processor.
• Read Data
• Read Deleted Data
• Read a Track
• ReadlD
• Write Data
• Write Deleted Data
• Format a Track
• Scan Equal
• Scan Low or Equal
• Scan High or Equal
• Recalibrate
• Sense Interrupt Status
• Specify
• Sense Drive Status
• Seek.
Read Data
Command Phase
MT = Multitrack
MF = MFM Mode
SK = Skip Deleted-Data Address Mark
HD = Head Number
USx = Unit Select
765432 0
Byte 0 MT MF SK 0 0 1 1 0
Byte 1 X X X X X HD US1 usa
Byte 2 Cylinder Number
Byte 3 Head Address
Byte 4 Sector Number
Byte 5 Number of Data Bytes in Sector
Byte 6 End of Track
Byte 7 Gap Length
Byte 8 Data Length
Result Phase
76543210
Command Phase
MT = Multitrack
MF = MFM Mode
SK = Skip Deleted-Data Address Mark
HD = Head Number
USx = Unit Select
7 6 5 4 3 2 1 0
Byte 0 MT MF SK 0 1 1 0 0
Byte 1 X X X X X HD US1 usa
Byte 2 Cylinder Number
Byte 3 Head Address
Byte 4 Sector Number
ByteS Number of Data Bytes in Sector
Byte 6 End of Track
Byte 7 Gap Length
ByteS Data Length
Result Phase
765432 0
Command Phase
MF = MFM Mode
SK = Skip Deleted-Data Address Mark
HD = Head Number
USx = Unit Select
765432 0
Byte 0 o MF SK 0 0 0 1 0
Byte 1 X X X X X HD US1 usa
Byte 2 Cylinder Number
Byte 3 Head Address
Byte 4 Sector Number
Byte 5 Number of Data Bytes in Sector
Byte 6 End of Track
Byte 7 Gap Length
Byte 8 Data Length
Result Phase
765432 0
Command Phase
MF = MFM Mode
HD = Head Number
USx = Unit Select
76543210
Byte 0 o MF 0 0 1 0 1 0
Byte 1 X X X X X HD US1 usa
Result Phase
765432 0
Command Phase
MT = Multitrack
MF = MFM Mode
HD = Head Number
USx = Unit Select
765432 0
Byte 0 MT MF 0 0 0 1 0 1
Byte 1 X X X X X HD US1 usa
Byte 2 Cylinder Number
Byte 3 Head Address
Byte 4 Sector Number
Byte 5 Number of Data Bytes in Sector
Byte 6 End of Track
Byte? Gap Length
Byte 8 Data Length
Result Phase
765432 0
Command Phase
MT = Multitrack
MF = MFM Mode
HD = Head Number
USx = Unit Select
765432 0
Byte 0 MT MF 0 0 1 0 0 1
Byte 1 X X X X X HD US1 usa
Byte 2 Cylinder Number
Byte 3 Head Address
Byte 4 Sector Number
ByteS Number of Data Bytes in Sector
Byte 6 End of Track
Byte 7 Gap Length
Byte 8 Data Length
Result Phase
765432 0
Command Phase
MF = MFM Mode
HD = Head Number
USx = Unit Select
7654320
Byte 0 o MF 0 0 0
Byte 1 X X X X X HD US1 USO
Byte 2 Number of Data Bytes in Sector
Byte 3 Sectors per Cylinder
Byte 4 Gap Length
Byte 5 Data
Result Phase
76543210
Command Phase
MT = Multitrack
MF = MFM Mode
SK = Skip Deleted-Data Address Mark
HD = Head Number
USx = Unit Select
76543210
Byte 0 MT MF SK 0 0 0 1
Byte 1 X X X X X HD US1 usa
Byte 2 Cylinder Number
Byte 3 Head Address
Byte 4 Sector Number
Byte 5 Number of Data Bytes in Sector
Byte 6 End of Track
Byte 7 Gap Length
Byte 8 Scan Test
Result Phase
765432 0
Command Phase
MT = Multitrack
MF = MFM Mode
SK = Skip Deleted-Data Address Mark
HD = Head Number
USx = Unit Select
7 6 5 4 3 2 0
Byte 0 MT MF SK 1 1 0 0 1
Byte 1 X X X X X HD US1 usa
Byte 2 Cylinder Number
Byte 3 Head Address
Byte 4 Sector Number
Byte 5 Number of Data Bytes in Sector
Byte 6 End of Track
Byte 7 Gap Length
ByteS Scan Test
Result Phase
765432 0
Command Phase
MT = Multitrack
MF = MFM Mode
SK = Skip Deleted-Data Address Mark
HD = Head Number
USx = Unit Select
7 6 5 4 3 2 1 0
Byte 0 MT MF SK 1 1 1 0 1
Byte 1 X X X X X HD US1 usa
Byte 2 Cylinder Number
Byte 3 Head Address
Byte 4 Sector Number
ByteS Number of Data Bytes in Sector
Byte 6 End of Track
Byte 7 Gap Length
ByteS Scan Test
Result Phase
76543210
Command Phase
7 6 5 4 3 2 0
Byte a a a a a a 1 1 1
Byte 1 X X X X X a US1 usa
Command Phase
7 6 5 4 3 2 0
I Byte a a a a a a a a
Result Phase
765432 0
Command Phase
765432 0
Byte 0 0 0 0 0 0 0 1
Byte 1 SRT HUT
Byte 2 HLT ND
Command Phase
765432 0
Byte 0 0 0 0 0 0 1 0 0
Byte 1 X X X X X HD US1 usa
Result Phase
76543210
Command Phase
765432 0
Byte 0 00001111
Byte 1 X X X X X 0 US1 USO
Byte 2 New Cylinder Number for Seek
Invalid Commands
76543210
The following are definitions of the status registers STO through ST3.
Bit 7 Reserved = o.
Bit 6 Control Mark-This flag is set if the controller encounters a
sector that has a deleted-data address mark during exe-
cution of a Read Data or Scan command.
Bil5 Data Error in Data Field-Set if the controller detects an
error in the data.
Bit 4 Wrong Cylinder-This flag is related to NO and is set when
the content of C is different from that stored in the 10 reg-
ister.
Bit 3 Scan Equal Hit (SH)-Set if the adjacent sector data equals
the microprocessor data during the execution of a Scan
command.
Bit 2 Scan Not Satisfied (SN)-Set if the controller cannoHind a
sector on the cylinder that meets the condition during a Scan
command.
Bit 1 Bad Cylinder-Related to NO and is set when the contents of
C on the medium are different from that stored in the 10 reg-
ister or when the content of C is hex FF.
All signals are 74HCT series-compatible in both rise and fall times
and in interface levels. The following are the input signals to the
diskette drive. These signal thresholds are + 2.0 V dc high and + 0.8
V dc low.
-Drive Select 0-1: The select lines provide the means to enable or
disable the drive interface lines. When the signal is active, the drive
is enabled. When the signal is inactive, all control inputs are ignored,
and the drive outputs are disabled. The maximum drive-select delay
time is 500 ns.
-Motor Enable 0-1: When this signal is made active, the spindle
starts to turn. When it is made inactive, the spindle slows to a stop.
-Step: An active pulse on this line causes the head to move one
track. The minimum pulse width is 1 ~s. The direction of the head
motion is determined by the state of the '-direction' signal at the
trailing edge of the '-step' pulse.
-Direction: When this signal is active, the head moves to the next
higher track (toward the spindle) for each '-step' pulse. When the
signal is inactive, the head moves toward track O. This signal must
be stable for 1 ~s before and after the trailing edge of the '-step'
pulse.
-Head 1 Select: When this signal is active, the upper head (head 1) is
selected. When it is inactive, the lower head (head 0) is selected.
-Read Data: An active pulse on this line writes a logical 1. The pulse
width for the 250,000-bps rate is 250 ns.
The following shows the signals and pin assignments for the con-
nector.
-Disk Card Select: (-DISK CS): The address decode logic for the
fixed disk is on the system board. It is enabled through the System
Board Control register (see "Chip Select Logic" earlier in this
section). When the logic is enabled, -DISK CS goes active on a valid
decode of A4 through A19 equal to hex 032x.
-Disk Installed: When active, this signal indicates that a fixed disk
and its controller are installed.
The following shows the signal timing for -DISK CS. The other signal
timings are the same as those on the I/O channel.
-lOR/-lOW
~ /
Symbol Parameter Description Min (ns)
The rear of the system unit has a 25-pin D-shell connector that con-
tains standard Electronic Industries Association (EIA) RS-232C inter-
face signals.
Data Bus
INTRPT 8250A
Asynchronous
Receive Clock Communications
Controller
1.84 MHz
from
CPU Gate Array
I EIA
Receivers
I
1
r--
Y25-P;n I
Connector .1
I
1
EIA
Drivers ~
Figure 1-98. Serial Port Block Diagram
Application
Data bit 0 is the first bit to be sent or received. The controller auto-
matically inserts the start bit, the correct parity bit (if programmed to
do so), and the stop bit (1,1.5, or 2, depending on the command in the
Line Control register).
The register addresses are hex 3F8 through 3FF. These registers
control the controller's operations and are used to transmit and
receive data. The divisor latch access bit (OLAB), which is the most
significant bit of the Line Control register, affects the selection of the
divisor latches for the baud rate generator.
DLAB Port 1
State Addre •• Read/Write Register
Bit Function
7 Bit 7
6 BitS
5 Bit 5
4 Bit 4
3 Bit 3
2 Bit 2
1 Bit 1
OBit 0
Bit Function
7 Bit 7
6 Bit 6
5 Bit 5
4 Bit 4
3 Bit 3
2 Bit 2
1 Bit 1
0 Bit 0
Divisor Latch, 3F9 and 3F8: These two registers access the high byte
(3F9) and low byte (3F8) of the divisor latch. More information about
the divisor latch may be found under "Programmable Baud-Rate Gen-
erator" later in this section.
7 Bit 15 Bit 7
6 Bit 14 Bit 6
5 Bit 13 Bit 5
4 Bit 12 Bit 4
3 Bit 11 Bit 3
2 Bit 10 Bit 2
1 Bit 9 Bit 1
0 Bit 8 Bit 0
Interrupt Enable Register, Hex 3F9: This register allows the four
types of controller interrupts to separately activate the 'chip-interrupt'
(INTRPT) output signal. The interrupt system can be totally disabled
by resetting bits 3 through 0 of the Interrupt Enable register to O. Sim-
ilarly, by setting the appropriate bits of this register to 1, selected
interrupts are enabled. Disabling the interrupt system inhibits the
Interrupt Enable register and the active INTRPT output from the chip.
All other system functions operate normally, including the setting of
the Line Status and Modem Status registers.
7 Reserved = 0
6 Reserved = 0
5 Reserved = 0
4 Reserved = 0
3 Reserved = 0
2 Interrupt ID Bit 1
1 Interrupt ID Bit 0
o Interrupt Not Pending
Bits 2,1 These two bits, Interrupt 10 1 and 0, identify the pending
interrupts as shown.
Bit Function
7 DLAB
6 Set Break
5 Stick Parity
4 Even Parity Select
3 Parity Enable
2 Number of Stop Bits
1 Word Length Select 1
o Word Length Select 0
o o 5
o 1 6
1 o 7
1 1 6
Bit Function
7 to 5 Reserved = 0
4 Loop
3 Out 2
2 Out 1
1 Request to Send
o Data Terminal Ready
Line Status Register, Hex 3FD: This register provides the micro-
processor with status information about the data transfer.
Bit Function
7 Reserved = 0
6 Tx Register Empty
5 Transmitter Holding Register Empty
4 Break Interrupt
3 Framing Error
2 Parity Error
1 Overrun Error
o Data Ready
Bit 7 Reserved = o.
Bit 6 This bit is the transmitter empty indicator. It is set to 1
whenever the Transmitter Holding register and the Trans-
mitter Shift register are both empty.
Bit Function
Bit 7 When set to 1, this bit indicates -DCD is active. In the diag-
nostic mode, this bit is equivalent to OUT 2 of the Modem
Control register.
Bit 6 When set to 1, this bit indicates -RI is active. In the diag-
nostic mode, this bit is equivalent to OUT 1 of the Mode
Control register.
Bit 5 When set to 1, this bit indicates -DSR is active. In the diag-
nostic mode, this bit is equivalent to DTR of the Mode
Control register.
Bit 4 When set to 1, this bit indicates -CTS is active. In the diag-
nostic mode, this bit is equivalent to RTS of the Mode
Control register.
Bit 3 This bit is the delta data-carrier-detect indicator. It indicates
-DCD to the chip has changed state.
Bit 2 This bit is the trailing-edge ring-indicate indicator. It indi-
cates that -RI to the chip has changed from active to inactive.
Bit 1 This bit is the delta data-set-ready indicator. It indicates that
-DSR to the chip has changed state.
The following is a sample program that sets the baud rate at 1200
with an a-bit data word, 1 stop bit, and odd parity.
ENDP
Input Signals
-Clear to Send (-CTS): This signal is an input from the modem. The
status of this signal is reflected in bit 4 of the Modem Status register.
Bit 0 of the same register indicates whether -CTS has changed state
since the last reading.
-Data Set Ready (-DSR): When active, this signal indicates the
modem or data set is ready to establish the communications link and
transfer data with the controller. This signal is an input from the
modem. Its status is reflected in bit 5. of the Modem Status register.
Bit 1 of the same register indicates whether this signal has changed
state since the last reading.
-Data Carrier Detect (-DCD): When active, this signal indicates the
modem or data set detected a data carrier. This signal is an input
from the modem. Its status is reflected in bit 7 of the Modem Status
register. Bit 3 of the same register indicates whether the signal has
changed state since the last reading.
-Ring Indicate (-RI): When active, this signal indicates the modem or
data set detected a telephone ringing signal. This signal is an input
from the modem. Its status is reflected in bit 6 of the Modem Status
register. Bit 2 of the same register indicates whether the signal has
changed from active to inactive.
-Data Terminal Ready (-DTR): When active, this signal informs the
modem or data set that the controller is ready to communicate. This
signal can be made active by setting bit 0 of the Modem Control reg-
ister. It is inactive after a master reset operation.
The following figure shows the pin assignments for the serial port in a
communications environment when viewed from the rear of the
system unit.
1 13
roo0 0 0 0 0 0 0 0 0 0 0)
\000000000000.
14 25
Function Condition
On Spacing condition (binary 0, positive voltage).
Off Marking condition (binary 1, negative voltage).
VoHage Function
Above + 15 V dc Invalid
+3to +15 V dc On
-3 to +3Vdc Invalid
-3 to -15V dc Off
Below -15 V dc Invalid
Parallel Port
Enable .. Interrupt
Data
Bus
l..... Data
Output
Buffer 25-Pin bL Data
Wrap
Buffer
..
Connector
Control Control Wrap
---<
Output ~ and
Buffer Signal Input
Port Registers
The following describe the registers used for this port in a parallel
printer application.
Data Latch, Hex 378: Writing to this address causes data to be stored
in the device data buffer. Reading this address returns the contents
of the buffer.
The output drivers for this data port will source 2.6 mA at a VOH of 2.4
V dc and sink 24 mA at a VOL of .5 V dc. Resistors (39 ohm) are in
series with the output drivers.
Bit Function
7 Reserved
6 Reserved
5 Reserved
4 IRQ Enable
3 Select Input (Slct In)
2 -Initialize (-Init)
1 Auto FD XT
o Strobe
Bit Function
7 -Busy
6 -Acknowledge (-ACK)
5 Page End (PE)
4 Selected (Slct)
3 -Error
2 Reserved
1 Reserved
o Reserved
~_I_~
O.Sus Minimum
~~~oXimateIY i
If---"",~===---+-I -"£---+-....L.---i
Data ----~k I
I
i
I
I
>~-----
I I I
I I I
I I I
I I I
-STROBE ------------rl----~
!I~I
I II
I I
! I
The port has a 25-pin, D-shell connector at the rear of the system unit.
The following figure shows the signals and their pin assignments.
Typical printer input signals also are shown.
13 1
0 0 0 0 0 0 0 0 0 0 0 0
\ .000000000000.
OJ
25 14
1 0 -Strobe 14 0 -Auto FD XT
2 1/0 DO 15 I -Error
3 1/0 D1 16 0 -Init
4 1/0 D2 17 0 -Slct In
5 1/0 D3 18 N/A Ground
6 1/0 D4 19 N/A Ground
7 1/0 D5 20 N/A Ground
8 1/0 D6 21 N/A Ground
9 1/0 D7 22 N/A Ground
10 I -ACK 23 N/A Ground
11 I Busy 24 N/A Ground
12 I PE 25 N/A Ground
13 I Sict
The beeper and its control ci rcuits and driver are on the system
board. The beeper drive circuit is capable of approximately 1/2 watt
of power. The control circuits allow the beeper to be driven three dif-
ferent ways:
Earphone Connector
An earphone connector is provided at the rear of the system unit to
allow the user to disable the internal beeper (speaker) and listen to
the sound output through a set of earphones. The internal beeper is
disabled whenever a plug is inserted into this connector.
DO
J7 m
12
84 g@]
MO
c:---+-------+
J4 (I]
m--+--~""-
13
1
m--t~r--- __
J9
00 o
mRRRRRRRRj
Ref. # Description ReI. # Description
t-+iit-- m
J6
J12
@]
A40
J7 1 Power Good
2 Ground
3 +12V de
4 -12 V de
5 Ground
6 Ground
7 Ground
8 Ground
9 -5 V de
10 +5Vde
11 +5Vde
12 +5Vde
The keyboard and pointing device connectors, J1 and J2, are six-pin,
90-degree printed circuit board (PCB) mounting, miniature DIN con-
nectors. For pin numbering, see the "Keyboard" section. The pin
assignments are as follows:
Pin Assignments
1 Keyboard Data
2 Not Connected
3 Ground
4 +5Vde
5 Keyboard Clock
6 Not Connected
Weight
Power Cable
Environment
• Air Temperature
System On: 15°C to 32°C (60°F to 90°F)
System Off: 10°C to 43°C (50°F to 110°F)
• Wet Bulb Temperature
System On: 23°C (73°F)
System Off: 27°C (80°F)
• Altitude
- Maximum altitude: 2133.6 meters (7000 feet)
Heat Output
Noise Level
Electrical
• Power: 240 VA
• Input
Nominal: 115 V ae 230 V ae
Minimum: 90 V ae 180 V ae
Maximum: 137 V ae 265 V ae
Coprocessor 2-1
Notes:
2-2 Coprocessor
Description
The Math Coprocessor (8087-2) enables the Type 8525 to perform
high-speed arithmetic functions, logarithmic functions, and trigono-
metric operations with extreme accuracy.
The first five bits of every instruction's operation code for the
coprocessor are identical (binary 11011). When the microprocessor
and the coprocessor see this operation code, the microprocessor cal-
culates the address of any variables in memory, while the
coprocessor checks the instruction. The coprocessor takes the
memory address from the microprocessor if necessary. To gain
access to locations in memory, the coprocessor takes the local bus
from the microprocessor when the microprocessor finishes its current
instruction. When the coprocessor is finished with the memory
transfer, it returns the local bus to the microprocessor.
The coprocessor works with seven numeric data types divided into
the following three classes:
Programming Considerations
The coprocessor extends the data types, registers, and instructions of
the microprocessor.
Coprocessor 2-3
elements are operated on. The figure below shows representations
of large and small numbers in each data type.
Significant
Digits
Data Type Bits (Decimal) Approximate Range (Decimal)
, The Short Real and Long Real data types correspond to the single and
double-precision d~ta types.
Hardware Interface
The coprocessor uses the same clock generator and system bus
interface components as the microprocessor. The microprocessor's
queue status lines (050 and 051) enable the coprocessor to obtain
and decode instructions simultaneously with the microprocessor.
The coprocessor's 'busy' signal (Busy) informs the microprocessor
that it is executing, and the coprocessor's Wait instruction (Wait for
Not Busy) forces the microprocessor to wait until the coprocessor has
finished executing.
2-4 Coprocessor
There are two conditions that will disable the coprocessor interrupt to
the microprocessor:
Because a memory parity error may also cause an NMI, the program
should check the coprocessor status for an exception condition. If a
coprocessor exception condition is not found, control is passed to the
normal NMI handler. If an 8087 exception condition is found, the
program clears the exception by executing the FNSAVE or the
FNCLEX instruction, and the exception can be identified and acted
upon.
The NMI and the coprocessor's interrupt are tied to the NMI line
through the NMI interrupt logic.
110
Interrupt Gate INT INT 8086
Array NMI NMI CPU
r---
NMI .-=:... ClK
RQ/GTO
RQ/GT1
QSO QSl TEST A/DO - A/D15
A16 - A19
+ + t
Memory
CPU
Gate
Array
CPU
RQ/GT
ClK
NPU
... QSO QSl BUSY
RQ/GTO
RQ/GT
PARITY ---<
- RQ/GTl
ClK
INT
8087
CPU
r---
Coprocessor 2-5
Notes:
2-6 Coprocessor
SECTION 3. Power Supply
UndervoHage
Output (V de) Minimum (V de)
+5 +3.2
-5 -2.4
+12 +10.5
-12 -8.6
Power-Good Signal
The power supply provides a 'power good' signal to reset the system
logic, to indicate proper operation of the power supply, and to give
advance warning when the power is turned off.
J7 1 Power Good
2 Ground
3 + 12 V de
4 -12Vde
S Ground
6 Ground
7 Ground
8 Ground
9 -S V de
10 +SVde
11 +SVde
12 +SVde
Keyboard 4-1
Latin American ................................ 4-44
U.S. English ................................... 4-45
Cables and Connectors ................................ 4-46
Specifications ........................................ 4-47
Power Requirements ............................ 4-47
Size ......................................... 4-47
Weight ....................................... 4-47
4-2 Keyboard
Description
The PC Enhanced keyboard has 101 keys and the Space Saving key-
board has 84 keys (102 or 85 in countries outside of the U.S.A.). The
84-key keyboard looks the same as the 101-key keyboard without the
numeric keypad. It has the same scan codes available as the 101-key
keyboard.
When the 84-key keyboard is in Num Lock state, the numeric keypad
is overlaid on the inboard keys. The NumLk key for this keyboard
(Shift + ScrLk) toggles the overlay on or off. The overlay character is
printed on the lower right keytop of the keys that are affected. At
system power-on, the keyboard monitors the signals on the 'clock'
and 'data' lines and establishes its line protocol.
The keyboard detects each key pressed, and sends each scan code in
the sequence pressed. When not serviced by the system, the key-
board stores the scan codes in its buffer.
Keyboard Buffer
When the keyboard is allowed to send data, the bytes in the buffer are
sent as in normal operation, and any additional keystrokes are sent.
Response codes do not occupy a buffer position.
Keyboard 4-3
Keys
With the exception of the Pause key, all keys are make/break. The
make scan code of a key is sent to the keyboard controller when the
key is pressed. When the key is released, its break scan code is sent.
Additionally, except for the Pause key, all keys are typematic. When
a key is pressed and held down, the keyboard sends the make code
for that key, delays 500 ms ±20%, and begins sending a make code
for that key at a rate of 10.9 characters per second ±20%.
If two or more keys are held down, only the last key pressed repeats
at the typematic rate. Typematic operation stops when the last key
pressed is released, even if other keys are still held down. If a key is
pressed and held down while keyboard transmission is inhibited, only
the first make code is stored in the buffer. This prevents buffer over-
flow as a result of typematic action.
Power-on Routine
Power-on Reset (POR) and the Basic Assurance Test (BAT) take
place when power is first applied to the keyboard.
Power-on Reset
4-4 Keyboard
Following a successful POR, the system sets the line protocol to Scan
Set 1.
The keyboard and system communicate over the 'clock' and 'data'
lines. The source of each of these lines is an open-collector device
on the keyboard that allows either the keyboard or the system to
force a signal inactive. When no communication is occurring, the
'clock' line is active. The state of the 'data' line is held inactive by
the keyboard.
The keyboard 'clock' line provides the clocking signals used to clock
serial data from the keyboard. If the system forces the 'clock' line
inactive, keyboard transmission is inhibited.
When the keyboard sends data to the system, it generates the 'clock'
signal to time the data. The system can prevent the keyboard from
sending data by forcing the 'clock' line inactive, or by holding the
'data' line inactive.
During the BAT, the keyboard allows the 'clock' and 'data' lines to go
active.
Keyboard 4-5
Data Stream
Bit Function
Data Output
When the keyboard is ready to send data, it first checks the status of
the 'clock' and 'data' lines. When the 'clock' line is inactive (key-
board inhibit). the keyboard stores the data in its buffer. When the
'data' line is inactive and the 'clock' line is active (system request to
send), the keyboard stores the data in its buffer and accepts the
system input.
If both lines are active, the keyboard sends the data stream. During
transmission, the keyboard monitors the 'clock' line. If the line goes
inactive before the parity bit is sent, the keyboard stores the data in
its buffer and returns the 'clock' and 'data' lines to active and then
waits on the system. If the parity bit has been sent, the keyboard
completes the transmission.
4-6 Keyboard
Commands
Reset (Hex FF): The system issues a Reset command to initiate a
keyboard reset and an internal self-test. The keyboard acknowledges
(ACK) receiving the command, but before executing the reset, the
keyboard waits for the system to accept the ACK. If the system
accepts the ACK, it pulses the clock and data lines with a 500-ms
active pulse. The keyboard remains in a reset mode until the clock
and data lines are pulsed or until another command is sent.
The following describes the commands that the keyboard sends to the
system, and shows their hexadecimal values.
BAT Failure Code (Hex FC): If a BAT failure occurs, the keyboard
sends this code, discontinues scanning, and waits for a system
response or reset.
Key Detection Error (Hex FF): The keyboard sends a key detection
error character (hex FF) if conditions in the keyboard make it impos-
sible to identify a switch closure.
Keyboard 4-7
Scan Codes
Each key is assigned a make and break scan code and, in some
cases, an extra set of codes to generate artificial shift states in the
system. The typematic scan codes are identical to the make scan
code for each key.
The following keys send the codes shown, regardless of the shifted
states of the keyboard. Refer to the keyboard layout to determine the
character associated with each key.
4-8 Keyboard
Key No. Make Break Key No. Make Break
1 29 A9 47 20 AD
2 02 82 48 2E AE
3 03 83 49 2F AF
4 04 84 50 30 BO
5 05 85 51 31 B1
6 06 86 52 • 32 B2
7 07 87 53 33 B3
8" 08 88 54' 34 B4
9' 09 89 55 35 B5
10 " OA 8A 57 36 B6
11 OB 8B 58 10 90
12 " OC 8C 60 38 B8
13 • 00 80 61 39 B9
15 OE 8E 62 EO 38 EO B8
16 OF 8F 64 EO 10 E090
17 10 90 90 45 C5
18 11 91 91 47 C7
19 12 92 92 4B CB
20 13 93 93 4F CF
21 14 94 96 48 C8
22 15 95 97 4C CC
23 • 16 96 98 50 DO
24 • 17 97 99 52 02
25 " 18 98 100 37 B7
26 19 99 101 49 C9
27 1A 9A 102 40 CO
28 1B 9B 103 51 01
29 + 2B AB 104 53 03
30 3A BA 105 4A CA
31 1E 9E 106 4E CE
32 1F 9F 108 EO 1C E09C
33 20 AO 110 01 81
34 21 A1 112 3B BB
35 22 A2 113 3C BC
36 23 A3 114 3D BO
37 " 24 A4 115 3E BE
38 " 25 A5 116 3F BF
39 " 26 A6 117 40 CO
40 • 27 A7 118 41 C1
41 28 A8 119 42 C2
42 + 2B AB 120 43 C3
43' 1C 9C 121 44 C4
44 2A AA 122 57 07
45 + 56 06 123 58 08
46 2C AC 125 46 C6
+ Key 29 on U.S.A. keyboard only, keys 42 and 45 on all but U.S.A. keyboard.
* See "84/85-Key Keyboard" in this section.
Keyboard 4-9
The remaining keys send a series of codes depending on the state of
various shift keys (Ctrl, Alt, and Shift), and the state of NumLk (On or
Off). Because the base scan code is identical to that of another key,
an extra code (hex EO) is added to the base code to make it unique.
The following charts show the make/break code using the left shift
key. If the right shift key is used, substitute its make/break for that of
the left shift key.
Base Case, or
Key Shift + NumLk Shift Case NumLk
95 EO 35/EO 65 EO AA EO 35/EO 65 EO 2A
4-10 Keyboard
84/85-Key Keyboard
The ScrLk key on this keyboard sends the scan code of hex 45 C5
when in the shift case and is used to toggle the Num Lock state. The
following are the key numbers and scan codes for the affected keys
on the 84-key and 85-key keyboards while in the Num Lock state.
8 47 C7 25 40 CO
9 48 C8 37 4F CF
10 49 C9 38 50 DO
12 4A CA 39 51 01
13 4E CE 40 37 B7
23 4B CB 52 52 02
24 4C CC 54 53 03
Encoding
Character Codes
The character codes are passed through the BIOS keyboard routine
to the system or application program. In the following figures, "-1"
indicates the combination is suppressed in the keyboard routine. The
codes are returned in the AL register. See the "Characters and Key-
strokes" section in this manual for the exact codes.
Keyboard 4-11
•.:... :!!
co
N
; B 8888
~
8888 8888 888
Key Base Case Uppercase Ctrl All
1
2
,
1
-
!
-1
-1
(*)
(*)
3 2 @ Nul(OOO) (*) (*)
4 3 # -1 (*)
5 4 $ -1 (*)
6 5 % -1 (*)
7 6 A R8(030) (*)
8 7 & -1 (*)
9 8 * -1 (*)
10 9 ( -1 (*)
11 0 ) -1 (*)
12 - U8(031) (*)
13 = "+ -1 (*)
15 Backspace Backspace Del(127) (*)
(008) (008)
16 -+1 (009) I~(*) (*) (*)
17 q Q DC1(017) (*)
18 w W ETB(023) (*)
19 e E ENQ(005) (*)
20 r R DC2(018) (*)
21 t T DC4(020) (*)
22 Y y EM(025) (*)
23 u U NAK(021) (*)
24 i I HT(009) (*)
25 0 0 81(015) (*)
26 P P DLE(016) (*)
27 [ { Esc(027) (*)
28 1 } G8(029) (*)
I
29 \ I F8(028) (*)
30 Caps -1 -1 -1 -1
Lock
31 a A 80H(001) (*)
32 s 8 DC3(019) (*)
33 d D EOT(004) (*)
34 f F ACK(006) (*)
35 9 G BEL(007) (*)
36 h H B8(008) (*)
37 j J LF(010) (*)
38 k K VT(011) (*)
39 I L FF(012) (*)
40 ; : -1 (*)
,
41 " -1 (*)
43 CR CR LF(010) (*)
Note:
(*) Refer to "Extended Functions" in this section.
4-16 Keyboard
Key Base Case Uppercase etr. Aft
44 Shift -1 -1 -1 -1
(Left)
46 z Z SUB(026) (*)
47 x X CAN(024) (*)
48 c C ETX(003) (*)
49 v V SYN(022) (*)
50 b B STX(002) (*)
51 n N 50(014) (*)
52 m M CR(013) (*)
53 < -1 (*)
54 > -1 (*)
55 I ? -1 (*)
57 Shift -1 -1 -1 -1
(Right)
58 Ctrl -1 -1 -1 -1
(Left)
60AIt -1 -1 -1 -1
(Left)
61 Space Space Space Space
62Alt -1 -1 -1 -1
(Right)
64 Ctrl -1 -1 -1 -1
(Right)
90Num -1 -1 -1 -1
Lock
95 (*) (*)
100 (*) (*)
105 (*) (*)
106 + + (*) (*)
108 Enter Enter LF(010) (*)
Notes:
(*) Refer to "Extended Functions" in this section.
Keyboard 4-17
Key Base Case Uppercase Ctrl All
Notes:
(') Refer to "Extended Functions" in this section.
(") Refer to "Special Handling" in this section.
4-18 Keyboard
The following figure lists keys that have meaning only in Num Lock,
Shift, or Ctrl states. These keys are only available on 101- and
102-key keyboards.
Num
Key Lock Base Case AR etrl
Notes:
(0) Refer to "Extended Functions" in this section.
(00) Refer to "Special Handling" in this section.
Extended Functions
Keyboard 4-19
The following figure is a list of the extended codes and their func-
tions.
Second
Code Function
1 Alt Esc
3 Nul Character
14 Alt Backspace
15 I+- (Back-tab)
16-25 Alt Q, W, E, R, T, Y, U, I, 0, P
26-28 Alt [1 ......
30-38 Alt A, S, D, F, G, H, J, K, l
39-41 Alt ; , ,
43 Alt \
44-50 Alt Z, X, C, V, B, N, M
51-53 Alt , . I
55 Alt Keypad·
59-68 F1 to F10 Function Keys (Base Case)
71 Home
72 t (Cursor Up)
73 Page Up
74 Alt Keypad-
75 <- (Cursor left)
76 Center Cursor
77 .... (Cursor Right)
78 Alt Keypad +
79 End
80 J (Cursor Down)
81 Page Down
82 Ins (Insert)
83 Del (Delete)
84-93 Shift F1 to F10
94-103 Ctrl F1 to F10
104-113 Alt F1 to F10
114 Ctrl PrtSc (StartlStopEcho to Printer)
115 Ctrl <- (Reverse Word)
116 Ctrl .... (Advance Word)
117 Ctrl End (Erase to End of Line-EOl)
118 Ctrl PgDn (Erase to End of Screen-EOS)
119 Ctrl Home (Clear Screen and Home)
120-131 Alt 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, = Keys 2-13
132 Ctrl PgUp (Top 25 Lines of Text and Cursor Home)
133-134 F11, F12
135-136 Shift F11, F12
137-138 Ctrl F11, F12
139-140 Alt F11, F12
141 Ctrl Up/8
142 Ctrl Keypad -
143 Ctrl Keypad 5
144 Ctrl Keypad
145 Ctrl Down/2
146 Ctrllns/O
147 Ctrl Dell.
148 Ctrl Tab
4-20 Keyboard
Second
Code Function
147 Gtrl Dell.
148 Gtrl Tab
149 Gtrl Keypad /
150 Gtrl Keypad'
151 Alt Home
152 Alt Up
153 Alt Page Up
155 Alt Left
157 Alt Right
159 Alt End
160 Alt Down
161 Alt Page Down
162 Alt Insert
163 Alt Delete
164 Alt Keypad /
165 Alt Tab
166 Alt Enter
Shift Stales
Most shift states are handled within the keyboard routine, and are not
apparent to the system or application program. In any case, the
current status of active shift states is available by calling an entry
point in the BIOS keyboard routine. The following keys result in
altered shift states:
Shift: This key temporarily shifts keys 1 through 13, 16 through 29, 31
through 41, and 46 through 55, to uppercase (base case if in
GapsLock state). Also, the Shift key temporarily reverses the
NumLock or non-NumLock state of keys 91 through 93, 96, 98, 99, and
101 through 104 on a 101- or 102-key keyboard. If in NumLock state,
the Shift key temporarily invokes the cursor functions of keys 8-10, 12,
13,23-25,37-40,52 and 54 on an 84- or 85-key keyboard.
elrl: This key temporarily shifts keys 3,7, 12, 15 through 29,31
through 39, 43, 46 through 52, 75 through 89, 91 through 93, 95 through
108, 112 through 124 and 126 to the Gtrl state. The Gtrl key is also
used with the Alt and Del keys to cause the system-reset function,
with the Scroll Lock (ScrLk) key to cause the break function, and with
the Pause/Break key to cause the pause function. The system-reset,
break, and pause functions are described under "Special Handling"
later in this section.
Keyboard 4-21
Alt: This key temporarily shifts keys 1 through 29, 31 through 43, 46
through 55, 75 through 89, 95, 100, and 105 through 124 to the Alt
state. The Alt key is also used with the Gtrl and Del keys to cause a
system reset.
The Alt key also allows the user to enter any character code from 1 to
255. The user holds down the Alt key and types the decimal value of
the desired characters on the numeric keypad. The Alt key is then
released. If the number is greater than 255, a modu10-256 value is
used. This value is interpreted as a character code and is sent
through the keyboard routine to the system or application program.
Alt is handled in the keyboard routine.
CapsLock: This key shifts keys 17 through 26, 31 through 39, and 46
through 52 to uppercase. When the Gaps Lock key is pressed again, it
reverses the action. GapsLock is handled in the keyboard routine.
NumLock (NumLk): For the 101-key keyboard, this key shifts keys 91
through 93, 96 through 99, and 101 through 104 to uppercase. When
NumLk is pressed again, it reverses the action.
For the 84-key keyboard, it shifts keys 8 through 10, 12 and 13, 37
through 40, 23 through 25, and 52 through 54. The NumLock for this
keyboard is Shift plus the ScrLck key.
4-22 Keyboard
Special Handling
System Reset: The combination of Alt, Ctrl, and Delete keys results
in the keyboard routine that starts a system reset or restart. System
reset is handled by BIOS.
Pause: The Pause key causes the keyboard interrupt routine to loop,
waiting for any character or function key to be pressed. This provides
a method of temporarily suspending an operation, such as listing or
printing, and then resuming the operation. The method is not
apparent to either the system or the application program. The key-
stroke used to resume operation is discarded. Pause is handled in
the keyboard routine.
System Request: When the System Request (Alt + Print Screen) key
is pressed, a hex 8500 is placed in AX, and an interrupt hex 15 is exe-
cuted. When the key is released, a hex 8501 is placed in AX, and
another interrupt hex 15 is executed. If an application is to use
System Request, the following steps must be performed:
Keyboard 4-23
Other Characteristics
The keyboard routine does its own buffering (16 bytes). If a key is
pressed when the buffer is full, that key is ignored and the beeper
sounds.
The keyboard routine also suppresses the typematic action of the fol-
lowing keys: Ctrl, Shift, Alt, Num Lock (or NumLk), Scroll Lock (or
ScrLk), Caps Lock, and Ins (or Insert).
During each interrupt hex 09 from the keyboard, an interrupt hex 15,
function (AH) = hex 4F, is generated by the BIOS after the scan code
is read from the keyboard adapter. The scan code is passed in the
AL register with the carry flag set. This allows an operating system
to intercept each scan code before it is handled by the interrupt hex
09 routine, and to change or act on the scan code. If the carry flag is
changed to 0 on return from interrupt hex 15, the scan code is ignored
by interrupt hex 09.
4-24 Keyboard
Layouts
• Arabic
• Belgian
• Canadian French
• Danish
• Dutch
• French
• German
• Israeli
• Italian
• Latin American
• Norwegian
• Portuguese
• Spanish
• Swedish
• Swiss
• U.K. English
• U.S. English
• Canadian French
• Latin American
• U.S. English
The layouts are shown in the above order on the following pages.
The characters normally found on the front face of the keybuttons are
shown on the lower right corner of the keys in the layouts.
Keyboard 4-25
"
~
0" > IWm
o
...
I» < l' H_ t Lock /
* -
Q.
Tab New
line a End i 7V .,.8A 99
Hollll! Pg l.\l
+
ClIps
Lork
4 ~ 56 61
-+
3,
4-
1 )
.0- End +2 " PgIJn
Enter
(trl o.
Insert Del
Page Nun -
Insert IiDIII!
Up lock I *
IJI!lete End
Page 7 .,.8 9
Down HIl1Ie PgIP
+
..
4 5 6
-+
1 2 3
End ... Pg Il1
Enter
0
Ins Del
..,.
N
I
Suppr Fin
~
,
~ Num
7
"4
I
8
1-
*
9
t
-
+
5 6
+- -+
1
Fin .2 *3 Entr
0
Ins.r lsuppr
tme Page tt.n -
I ns.rt /
l.\I lock
*
9
O.I.t. End
Page
Down
7
tme .,.8 Pgl.\l
+
4
4-
5
..6
1 2 3
End
• ,Pg On
Ent.r
a
Ins DeL
olio
I
Co)
0
El [F1 IF2 IF3 l4 ] [F5 l6 IF7 IFB ] [F9 IF10 IF11 IF12 ]
'"
CD
'<
0- S Page tlJn
0 lns.rt HoinI! I -
.,
III II ~ Up lock
*
=
Co
~ 7 .,.8
0.101. End
9
Ibn! PgUp
+
(aps
lock
4
+-
5
.
6
3
~
1
End ..
2
Pg On
Ent.r
Ctrl 0
Ins 0.1
~
Verr -
,
Inser /
~ nlln
*
Suppr Fin 7
'l
.,.8 l
9
+
4
4-
5
.
6
1 2 3
Fin .... .1 Entr
0
loser ,SuoDr
"
CD
'<
0-
o
III
....
0.
...t
EJ .
G)
CD
:3
DI
;:,
Eintg Pos1
811d
'I"
~
¢' . x -
Entt Ende
811d 7 .,.8 9
,j, Pos1 811d .,.
+
.
4 5 6
-+
1 2 3
Ende ... 8; Id
Enter
0 ,
Elntg Entt
Page ttJm
/ -
Insert Home Up lock
*
Page 7 8 9
Delete End Down I'IIIne ... Po lb.
+
4
.- 5
..
6
1 2 3
End ... l Po il1
Enter
0
Ins Del
.
olio
w
w
, lIl» •
Ins .~ ;/ -.
I'ag" 1tJn
*
....~~~~--~~..~~~ .7 ,8
Invlll ' 9
canE fine Pag.
~~--~ 4
~'" +
5 " 6
'+- ....
1 2 3'
fine
• pag.
"MIA"
c': ~?
0 .,
Lns Cant
SI.q
Insert Inl[l. ~g I -
~
*
Supr Fin Av, 7 8 9
Pag Inicio 1- ReP,g
+
4
+-
5
..
5
1 2 3
Fin ... AvPag
Intr.
D
Ins Supr
~,
Co)
G)
El [F1 IF2 l3 IF4 ] [FS IF6 IF7 ls ] [F9 IF10 IF11 1m ]
z
o
iCD
fa
"
CD
'<
tT
iii'
::s
Page ItJm
0 Insert Horne / -
...
III
a.
Up lock
*
9
~ 7 .,.8
Page
Delete End
.-J Down Horne Pg Up
+
[aps 4 5 6
lock 4- ...
2 3
.0-
1
End .. Pg On
Enter
0 ,
[trl
Ins Oel
'V
!c
CD
c
1 2 3
End + PgDl
Entor
0
Ins IlI!l
~ R. Bloq
Insert Inlelo
Pag Num I * -
~
9
7 .,.8
Av
Supr Fin
.-J Pag lni cj Re Pag
+
Bloq
MaY"S ..
4 5 6
...
<> 1
Fin .2 3
Av pa~
Intro
0
Ins Supr
U)
::e
!
iii'
:r
y, Page /IiJm
§
Insert Home
L\l lock x -
~ 7 .,.8 9
Enter Page
Delete End
.-J Down Home PgL\l
+
Caps
lock .
4 5 6
-+
1 2 3
.0. End ,j. Pg[)J
Enter
0 ,
[trl
Ins Del
0
Page Num
Ins.rt Hoo. I -
§ Up Lock
*
~ Del,t. End
Pag, 7 .,.8 9
.-J Down Home LPg Up
+
caps 4 5 6
Lock
.- -t
{;>
1 2 3
End Pg On
0
'" Enter
(trl
Ins Del
Page IlJm -
/
Insert Hane Up LD~k
*
Delete End
Page 7 .,.8 9
Down ttl.. Pg I.\l
+
4
+-
5
.
6
1 2 3
End ... Pg On
Enter
0
Ins Del
"
<1>
'<
0-
o
...I»a.
t...
"..
....
N
~ [F1 lZ IF3 IF4 ] [F5 Iffi IF7 ls ] [F9 IF1D l11 1m ]
"
CD
'<
0' Page NlB1I
0
I» \ Insert Ib1I! Up lock I * -
....
c.
Delete End Page 7 8 9
\ ilD... Home i' PgUp
+
4 5 6
+- -+
1 2 3
End + PgDn
Enter
0
Ins Del
Inser ~ t
Suppr Fin t
olio
I
olio
olio
El [F1 IF2 IF3 IF4 ] [F5 IF6 IF7 IF8 ] [F9 IF10 IF11 IF12 ] -
r-
ID
S·
~
A
CD
'<
c-
o
I»
Insert Initio ~g
..
3
CD
n-
ID
....
0- :I
BloQ
Mayus
~
Page
Insert I'm!! 1.\1
"
~
c-
o
...
I»
0.
Cables and Connectors
The keyboard cable connects to the system with a 6-pin miniature DIN
connector and to the keyboard with a 6-position connector. The fol-
lowing table shows the pin configuration and signal assignments.
6
4
FEDCBA
1 +KBD DATA B
2 Not Connected F
3 Ground C
4 +5.0V dc E
5 +KBDCLK D
6 Not Connected A
Shield Frame Ground Shield
4-46 Keyboard
Specifications
The specifications for the keyboards are:
Power Requirements
• +5 V-dc ± 10%
• Current cannot exceed 275 mAo
Size
Weight
Keyboard 4-47
Notes:
4-48 Keyboard
SECTION 5. System BIOS
The IBM Personal Computer Macro Assembler manual and the IBM
Personal Computer Disk Operating System (~OS) manual provide
useful programming information related to this section. A description
of the BIOS interface is given in this section.
INT 12H
invokes the BIOS routine for determining memory size and returns
the value to the caller.
Parameter Passing
All parameters passed to and from the BIOS routines go through the
microprocessor registers. The description of each BIOS function
shows the registers used on the Call and the Return. For the memory
size example, no parameters are passed. The memory size, in 1K
increments, is returned in the AX register.
Genera"y, the BIOS routines save a" registers except for AX and the
flags. Other registers are modified on return only if they are
returning a value to the caller. The exact register use is in the
description of each BIOS function.
Hardware Interrupts
For the hardware interrupt assignments, see the Software Interrupt
Listing table later in this section. Interrupt level 0 corresponds to
interrupt vector 8, level 1 to interrupt vector 9, and so forth, including
interrupt level 7, which corresponds to interrupt vector OF.
Software Interrupts
With software interrupt sharing, it is possible for software interrupt
routines to "daisy chain" BIOS interrupts hex 10 through 1F, similar
to hardware interrupt routines. The interrupt routine must check the
function value in AH, and if the value is not in the routine's range of
function calls, the interrupt routine transfers control to the next
routine in the chain.
Other Read/Write Memory Usage: The BIOS routines use 256 bytes
of memory from absolute hex 400 to 4FF. This memory is called the
BIOS data area. The routines also use an expandable memory
segment called the extended BIOS data area. Location hex 40E and
40F in the BIOS data area points to the extended data area. Both
memory segments are defined later in this section.
Memory locations hex 300 to 3FF are used as a stack area during the
power-on initialization and during bootstrap when it receives control
from power-on. The application can set its own stack area.
During POST, the absolute addresses hex COOOO through EFFFF are
scanned in 2K increments searching for valid adapter ROM.
Addresses hex COOOO through C7FFF are scanned before the video is
initialized and hex caooo through EFFFF are scanned at the end of
POST. A valid ROM is defined as follows:
Byte 0 Hex 55
Byte 1 HexAA
Byte 2 A length indicator representing the number of 512-byte
blocks in the ROM (length/512). A checksum is also done
to test the integrity of the ROM module. Each byte in the
defined ROM is summed modulo hex 100. This sum must
be 0 for the module to be deemed valid.
When the POST identifies a valid ROM, it does a Far Call to byte 3 of
the ROM (which should be executable code). The adapter may now
perform its power-on initialization tasks. The feature ROM should
return control to the BIOS routines by executing a Far Return.
This routine attempts to find the storage location containing the bad
parity. If found, the segment address is displayed; if not found, four
question marks are displayed. An NMI is generated by a system
memory or I/O channel memory failure.
This routine handles the timer interrupt from channel 0 of the timer.
The input frequency is 1.19318 MHz and the divisor is 65,536,
resulting in approximately 18.2 interrupts every second.
For ASCII keys, when a make code is read from port hex 60, the char-
acter and scan codes are placed in the keyboard buffer (40:1E for a
length of 32 bytes) at the address pointed to by the buffer tail pOinter
word at 40:1C. The buffer tail pointer is then increased by 2 unless it
wraps past the end of the buffer, in which case it is reinitialized to the
start of the buffer.
For shift keys, the keyboard flags are updated accordingly on makes
or breaks.
For the Pause key, the handler loops until a valid ASCII keystroke is
pressed.
For the Print Screen key, interrupt 05 is invoked to print the screen.
For the graphics modes 4, 5, 6, and 13, the font is an 8-by-8 char-
acter box that is double-scanned to generate the 8-by-16 char-
acter. The box size refers to the font supported by BIOS.
BIOS maintains only one cursor type for all video pages. If an
application requires that different cursor types be preserved for
different pages, it must maintain the different types itself.
When operating with 400 scan lines, the hardware modifies the
cursor type as follows:
Start line = (CH)*2
End line = [(CL)*2+ 1]
(CH) - Bits 4-0 = Start line for cursor
Hardware controls the cursor blink
(Cl) - Bits 4-0 = End line for cursor
ON RETURN:
(DH.Dl) - Row.column of cursor for
requested page
(CH.Cl) - Cursor mode currently set
ON RETURN:
(AH) - Attribute of character read (alpha)
(AL) - Character read
These two functions, (AH) = 09H and OAH, are similar. The func-
tion (AH) = 09 is used for the graphics modes. For the read/write
character interface in graphics modes (4, 5, and 6), the characters
are formed from a character image maintained in the system
ROM, which contains only the first 128 characters. To read or
write the second 128 characters, the user must initialize the
pointer at interrupt 1F (location 0007C) to point to the table con-
taining the code points for the second 128 characters (128-255).
For the graphics modes 11 and 13, 256 graphics characters are
supplied in the system ROM.
In the alpha modes, the value set for palette color 0 indicates the
border color to be used.
(BH) - Palette color ID being set (0-127)
(Bl) - Color value to be used with that color ID
o = green (1) / red (2) / brown (3)
1 = cyan (1) / magenta (2) / white (3)
ON RETURN:
(Al) - Dot read
This routine reads the red, green, and blue values found in
the color registers, performs a weighted sum (30% red, 59%
green, and 11 % blue), then writes the result into the red,
green, and blue components of the color register. The ori-
ginal data in each color register is not retained; if those
values will be needed later, they must be preserved by the
calling routine.
This function loads the ROM 8-by-8 double-dot font in the INT
43H pointer.
(BL)= Row specifier
(AL) = 24H ROM B-by-16 Font
This function loads the ROM 8-by-16 font in the INT 43H
pointer.
(BL)= Row specifier
ON RETURN:
(ES:BP)= Pointer to table
This loads the BIOS print screen pointer into INT 15H. No
alternate print screen routine is supported.
The color registers are not altered during Mode Set if Disable
Default Palette loading is selected. The number of color reg-
isters loaded depends on the mode selected. Mode 13 loads
the first 248 color registers. All other modes load the first 16
registers. Shades of grey are supported for BW monitors, or
are enabled by using BIOS call (AH) = 12H, (Bl) = 33H.
(AL) = 00 Enable default palette loading
= 01 Disable default palette loading
ON RETURN:
(AL) = 12H Function supported
This routine enables and disables the address decode for the
video 1/0 port and regen buffer.
(AL) = 00 Enable video
= 01 Disable video
ON RETURN:
(AL) = 12H Function supported
ON RETURN:
(AL) = 12H Function supported
OOH No Display
OSH Analog Monochrome
OCH Analog Color
ON RETURN:
(AL) = lAH - Function supported
(Bl) - Active display code
(BH) - Alternate display code
ON RETURN:
(AL) = lAH - Function supported
ON RETURN:
(AL)= IBH - Function supported
Bit Function
Byte 1 7 Mode F
6 Mode E
5 Mode D
4 ModeC
3 Mode B
2 Mode A
1 Mode 9
0 ModeS
Bytes Reserved
C,D
The following is the format for the SAVE _TBL. All entries are
doubleword. For more information, see "Alternate Parameter Table"
on page 1-70.
Entry Description
ON RETURN:
(AX) - Equipment flag
Bit 15,14 = Number of printers attached
Bit 13.12 = Reserved
Bit 11.10.9 = Number of RS-232C ports attached
Bit B = Reserved
Bit 7.6 = Number of diskette drives
00=1, 01=2 only if bit 0 = 1
Bit 5.4 = Initial video mode
00 - reserved
01 - 40-by-25 using color
10 - 80-by-25 using color
11 - 80-by-25 using BW
Bit 3 = Reserved
Bit 2 = Pointing device attached
Bit 1 = Math coprocessor installed
Bit 0 = IPL diskette installed
Note: The memory value returned will be the total system memory
minus the 1K block of extended BIOS memory. A 640K machine will
return 639K if all the memory is functioning properly.
ON RETURN:
(AX) - Number of contiguous lK blocks of memory
Before waiting for an interrupt, BIOS calls Device Busy (INT 15H, (AX)
= 9001H), informing the operating system of the Wait. The comple-
mentary Interrupt Complete (INT 15H, (AX) = 9101H) is called, indi-
cating that the operation is complete.
This function issues a hard reset to the controller and then gener-
ates a Prepare command. The drive is recalibrated when the
next drive operation is initiated.
ON RETURN:
(ey) - Set indicates status ;s nonzero
(AH) - Status of operation (see Read Status)
ON RETURN:
(CY) - Set indicates status is nonzero
(AH) - Status of operation
The two most significant bits in CL are the two most significant
bits of the 10-bit track number.
ON RETURN:
(CY) - Set indicates status is nonzero
(Al) - Number of sectors actually transferred
(AH) - Status of operation (see Read Status)
The two most significant bits in CL are the two most significant
bits of the 10-bit track number. If an error is reported by the
diskette code, the appropriate action is to reset the diskette and
then retry the operation.
(Dl) - Drive number,
Bit 7 = 0 for diskette (value checked)
(DH) - Head number (origin of 0, not value checked)
(CH) - Track number (origin of 0, not value checked)
(Cl) - Sector number (origin of 1, not value checked)
(Al) - Number of sectors (not value checked)
(ES:BX) - Address of buffer
ON RETURN:
(CY) - Set indicates status is nonzero
(Al) - Number of sectors actually transferred
(AH) - Status of operation (see Read Status)
The two most significant bits in CL are the two most significant
bits of the 10-bit track number. If an error is reported by the
diskette code, the appropriate action is to reset the diskette and
then retry the operation.
(Dl) - Drive number,
Bit 7 = 0 for diskette (value checked)
(DH) - Head number (origin of 0, not value checked)
(CH) - Track number (origin of 0, not value checked)
(Cl) - Sector number (origin of 1, not value checked)
(Al) - Number of sectors (not value checked)
ON RETURN:
(CY) - Set indicates status is nonzero
(Al) - Number of sectors verified
(AH) - Status of operation (see Read Status)
There must be one entry for every sector on the track. This is
used to find the requested sector during read/write access.
Before formatting a diskette when there is more than one format,
Set Media Type (AH = 18H) must be called. If it is not called, the
default is the maximum capacity of the drive.
The two most significant bits in CL are the two most significant
bits of the 10-bit track number. If an error is reported by the
diskette code, the appropriate action is to reset the diskette and
then retry the operation.
(DL) - Drive number.
Bit 7 = 0 for diskette (value checked)
(DH) - Head number (origin of 0. not value checked)
(CH) - Track number (origin of 0. not value checked)
(AL) - Number of sectors (origin of 1. not value checked)
(ES:BX) - Address of buffer
ON RETURN:
(CY) - Set indicates status is nonzero
(AH) - Status of operation (see Read Status)
ON RETURN:
(ES:DI) - Pointer to 11 byte parameter table
associated with the maximum supported media types
on the drive in question.
(CH) - least significant 8 of 10 bits maximum number
of tracks (origin of 0)
(Cl) - Bits 7 and 6 - 2 most significant bits of maximum
tracks
- Bits 5 through e - maximum sectors per track
(origin of 1)
(BH) = 0
(Bl) - Bits 7 through 4 = 0
Bits 3 through 0 - valid drive type
03 = 720 K. 3.5 inch. 80 track
(AX) = 0
ON RETURN:
(AH) = 00 - Drive not present
= 01- Diskette. no change line available
= 02 - Diskette. change line available
= 03 - Reserved for fixed disk interface
ON RETURN:
(CY) - Set if (AH) is not zero
(AH) = 00 - Disk change line not active
01 - Invalid drive number
06 - Disk change line active
The 'disk change' line status is checked for all drives supporting
the 'disk change' signal. This function is supported for compat-
ibility purposes; however, Set Media Type for Format, (AH) = 18H,
is the suggested function to use.
ON RETURN:
(CY) - Set indicates error
(AH) - Status of operation
= 01 for invalid request
ON RETURN:
(ES:DI) - Pointer to II-byte parameter table
for this medium type. unchanged if AH is nonzero
Before waiting for an interrupt, BIOS calls Device Busy with type =
disk (INT 15H, AX = 9001H), telling the operating system of the Wait.
The complementary Interrupt Complete (INT 15H, AX = 9101H) is
called, indicating that the operation is complete.
The function number (AH) is also checked for read/write. The sector
number (AL) is also checked for a valid range of Hex 01 to 80.
Before waiting on a disk reset, the BIOS calls Device Busy (INT
15H, AX = 9000H). The reset is a time-out of approximately 3
seconds. This time-out value depends on the function number.
ON RETURN:
(CY) - Set indicates status is nonzero
(AH) - Status of operation (see Read Status)
ON RETURN:
(CY) - Always cleared (Operation successful)
(AL) - Status of last operation
(AH) - Status'of this operation (Will always be 88 - No error)
Disk status at 48:74 is reset to 8
The error code 11 indicates that the data read had a recoverable
error that was corrected by the ECC algorithm. The error may
not recur if the data is rewritten.
The two most significant bits in CL are the two most significant
bits of the 10-bit track number.
ON RETURN:
(CY) - Set indicates status is nonzero
(AH) - Status of operation (see Read Status)
The two most significant bits in CL are the two most significant
bits of the 10-bit track number.
(OL) - 7-bit drive number.
Bit 7 = 1 for fixed disk
(OH) - Head number (origin of 0. not value checked)
(CH) - Track number (origin of 0. not value checked)
(CL) - Sector number (origin of 1. not value checked)
(AL) - Number of sectors
(ES:BX) - Address of buffer
ON RETURN:
(CY) - Set indicates status is nonzero
(AH) - Status of operation (see Read Status)
The two most significant bits in CL are the two most significant
bits of the 10-bit track number.
(Dl) - 7-bit drive number.
Bit 7 = 1 for fixed disk
(DH) - Head number (origin of 0. not value checked)
(CH) - Track number (origin of 0. not value checked)
(Cl) - Sector number (origin of 1. not value checked)
(Al) - Number of sectors
ON RETURN:
(CY) - Set indicates status is nonzero
(AH) - Status of operation (see Read Status)
The two most significant bits in CL are the two most significant
bits of the 10-bit track number.
(Dl) - 7-bit drive number.
Bit 7 = 1 for fixed disk
(DH) - Head number
(CH) - Track number
(ES:BX) - Address of buffer points to a 512-byte
buffer. The first 2 bytes (sectors/track) contain
F. N for each sector.
ON RETURN:
(CY) - Set indicates status is nonzero
(AH) - Status of operation (see Read Status)
ON RETURN:
(DL) - Number of consecutive drives attached
(1-2) (controller card zero tally only)
(DH) - Maximum usable value for head number
(origin of a)
(CH) - Maximum usable value for cylinder number
(origin of a)
(CL) - Maximum usable value for sector number
and cylinder number high bits (origin of 1)
ON RETURN:
(CY) - Set indicates status is nonzero
(AH) - Status of operation (see Read Status)
(AH) = OAH and OBH These functions are reserved for diagnos-
tics.
ON RETURN:
(CY) - Set indicates status is nonzero
(AH) - Status of operation (see Read Status)
ON RETURN:
(CY) - Set indicates status is nonzero
(AH) - Status of operation (see Read Status)
(AH) = OEH and OFH These functions are reserved for diagnos-
tics.
ON RETURN:
(CY) - Set indicates status is nonzero
(AH) - Status of operation (see Read Status)
If an error is reported by the disk code, reset the disk, then retry
the operation.
(DL) - 7-bit drive number,
Bit 7 = 1 for fixed disk
ON RETURN:
(CY) - Set indicates status is nonzero
(AH) - Status of operation (see Read Status)
ON RETURN:
(AH) = 00 - Drive not present
01
= - Reserved for diskette interface
02
= - Reserved for diskette interface
= 03 - Fixed disk
(CX,DX) - Number of 512-byte blocks
ON RETURN:
(CV) - Set indicates error
(AH) - Status of operation (01 for invalid command)
ON RETURN:
(CV) - Set indicates error
(AH) - 01 for invalid command
7 6 5 4 3 2 1 0
Baud Rate Parity Stopbit Word Length
ON RETURN:
(AL) - Modem status
Bit 7 = Received line signal detect
Bit 6 = Ring indicate
Bit 5 = Data set ready
Bit 4 = Clear to send
Bit 3 = Delta received line signal detect
Bit 2 = Trailing edge ring indicate
Bit 1 = Delta data set ready
Bit 0 = Delta clear to send
ON RETURN:
(AL) is preserved
(AH) - Status
Bit 7 = 1 unable to transmit
If bit 7 = 0 (able to transmit).
then bits 6 thru 0 are:
Bit 6 = Tx shift register empty
Bit 5 = Tx holding register empty
Bit 4 = Break detect
Bit 3 = Framing error
Bit 2 = Parity error
Bit 1 = Overrun error
Bit 0 = Data ready
ON RETURN:
(AL) - Character received
(AH) - Line status
Bit 7 = Timeout
Bit 4 = Break detect
Bit 3 = Framing error
Bit 2 = Parity error
Bit 1 = Overrun error
ON RETURN:
(AL) - Modem status register
Bit 7 = Received line signal detect
Bit 6 = Ring indicate
Bit 5 = Data set ready
Bit 4 = Clear to send
Bit 3 = Delta received line signal detect
Bit 2 = Trailing edge ring indicate
Bit 1 = Delta data set ready
Bit 0 = Delta clear to send
(Al) - Break
00 - No break
01 - Break
(BH) - Parity
00 - None
01 - Odd
02 - Even
03 - Stick parity odd
04 - Stick parity even
ON RETURN:
(AL) - Modem status register, see (AH)=03
(AH) - line status register, see (AH)=03
ON RETURN:
(Al) - Modem status register. see (AH)=03
(AH) - line status register. see (AH)=03
(Bl) - Modem control register
ON RETURN:
(CY) - Carry flag set
(AL) = Scan code
ON RETURN:
(CY) - Cleared if (AL) is not zero
- Set if function is already busy
Size Description
Word Length of Descriptor in Bytes,
Minimum is 8 Bytes
Byte Model Byte
Byte Sub model Byte
Byte BIOS Revision Level
Entry Description
1 Status (High Byte = 0)
Low Byte
Bit 7 1= Y data overflow
Bit 6 1 = X data overflow
Bit 5 Y data, 1 = negative
Bit 4 X data, 0 = positive
Bits 3,2 Reserved
Bit 1 1 = Right button pressed
Bit 0 1 = Left button pressed
The following are the return values for all functions of pointing
device:
ON RETURN:
(CV) = Set if unsuccessful operation
(AH) = Status
B0 - No error
01 - Invalid function call
02 - Invalid input
03 - Error
04 - Reserved
05 - No Far Call installed
06 - Reserved
Setting the segment and offset to all O's cancels the device
driver.
(ES) = Segment pointer
(SX) = Offset pointer
If code is available:
(AL) - ASCII character
(AH) - Scan code
Value
inBH Delay Value
0 250 ms
1 500 ms
2 750 ms
3 1000 ms
ON RETURN:
(AL) = 00 Successful operation
= 01 Buffer full
The ASCIl character and the scan code are extracted from the
buffer (40:1E for a length of 32 bytes). The keyboard buffer
pOinter (word at 40:1A) is increased by 2 or reinitialized to the
start of the buffer if the pointer is already at the end.
This function does not remove the keystroke from the buffer.
ON RETURN:
(ZF) = Set if no code is available
= Clear if code is available
If code is available:
(AL) - ASCII character
(AH) - Scan code
The bits in AL and AH are set for the following conditions. Only
AX and the flags are changed. All other registers are preserved.
ON RETURN:
(AL) - Shift status
Bit 7 - Insert locked
Bit 6 - Caps locked
Bit 5 - Nums locked
Bit 4 - Scroll locked
Bit 3 - Alt key pressed
Bit 2 - Ctrl key pressed
Bit 1 - Left shift key pressed
Bit 0 - Right shift key pressed
ON RETURN:
(AH) - Status
Bit 7 - Not busy
Bit 6 - Acknowledge
Bit 5 - Out of paper
Bit 4 - Selected
Bit 3 - I/O error
Bit 2.1 - Unused
Bit 0 - Time out
ON RETURN:
(AH) - Status - same as function 00
ON RETURN:
(AH) - Status - same as function 00
Track 0, sector 1 is read into the boot location (segment 0 offset 7COO)
and control is transferred there with the following values:
(CS) = 00H
(Ip) = 7C00H
(DL) = Drive that boot sector was read from
ON RETURN:
(CY) - Set for invalid function request
The IBM BIOS routines use 256 bytes of memory from absolute
address hex 400 to 4FF.
Address Function
40:12 Reserved
40:13 Memory Size in K Bytes (Word)
40:15 Reserved
40:16 BIOS Control Flags
40:66 Current Palette Setting Color Card (Byte) Mirror Image Written to
Base Port Address + 5
40:67 - 6B Reserved
40:6C Timer Counter Low Word,High Word (DWord) Increased Approxi-
mately 18 Times per Second
40:72 Reset Flag (Word), If Hex 1234, Then No Need to Test Memory on
POST
40:76 Reserved
40:77 Reserved
40:78 LPT1 Timeout Value (Byte)
40:79 LPT2 Timeout Value (Byte)
4O:7A LPT3 Timeout Value (Byte)
4O:7B Reserved
4O:7C COM1 Timeout Value (Byte)
40:70 COM2 Timeout Value (Byte)
4O:7E COM3 Timeout Value (Byte)
40:7F COM4 Timeout Value (Byte)
40:93 Reserved
40:94 Track Currently SEE Ked to, Drive 0 (Byte)
40:95 Track Currently SEEKed to, Drive 1 (Byte)
40:A1-A3 Reserved
40:A4-A7 Saved Fixed Disk Interrupt Vector
40:DO-EF Reserved
40: FO-FF Reserved for User
50:00 Print Screen Status Byte
Offset Function
(Hex)
00 Number of bytes allocated in multiples of K (Byte)
01-21 Reserved
22-2F POinting device interface BIOS data area (14 Bytes)
22 Device Driver Far Call Offset (Word)
24 Device Driver Far Call Segment (Word)
26 Pointing Device Flag (1st Byte)
7 Command in Progress
6 Resend
5 Acknowledge
4 Error
3 Reserved = 0
2-0 Index Count
27 Pointing Device Flag (2nd Byte)
7 Device Driver Far Call flag
6-3 Reserved
2-0 Package Size
28 - 2F Reserved
The following shows the table format and the table entries for the
fixed disk.
4 Byte Sectors/track
5 Byte Gap length
6 Byte Data length
7 Byte Gap length for format
8 Byte Fill byte for format
9 Byte Head settle time in ms
A Byte Motor startup time in 1/8 seconds
AX: AH AL Accumulator
BX: BH BL Base
CX: CH CL Count
DX: DH DL Data
General Register File
SP Stack Pointer
BP Base Pointer
SI Source Index
DI Destination Index
IP Instruction Pointer
CS Code Segment
DS Data Segment
Segment Register File
SS Stack Segment
ES Extra Segment
Bit Function
15 to 12 Don't Care
11 Overflow Flag
10 Direction Flag
9 Interrupt Enable Flag
8 Trap-Single Step Flag
7 Sign Flag
6 Zero Flag
5 Don't Care
4 Auxiliary Carry - BCD
3 Don't Care
2 Parity Flag
1 Don't Care
o Carry Flag
Notes
001reg110
000 AX 000 AL 00 ES
001 CX 001 CL 01 CS
010 OX 010 OL 10 55
011 BX 011 BL 11 OS
100SP 100 AH
101 BP 101 CH
110 51 110 OH
111 01 111 BH
mod Displacement
Data Transfer
MOV = Move
Immediate to Register/Memory
1 1100011w 1 mod 000 rim 1 data 1 data if w = 1
Immediate to Register
11011wreg 1 data 1 data if w = 1
Memory to Accumulator
11010000W 1 addr-Iow 1 addr-high
Accumulator to Memory
11010001W 1 addr-Iow 1 addr-high
PUSH = Push
Register/Memory
111111111 mod 110 rIm
Register
1 01010reg
POP = Pop
Register/Memory
110001111 1 mod 000 rIm
Register
1 01011reg
Segment Register
1 000reg111 1
XCHG = Exchange
Fixed Port
1 1110010w 1 port
Variable Port
1 1110110w
111010111
110011111
110011110
110011100
110011101
Arithmetic
ADD = Add
Immediate to RegisterlMemory
1100000sw I mod 000 rIm I data I data if sw = 01
Immediate to Accumulator
I 0001010w I data I data if w = 1
INC = Increment
Register/Memory
I 1111111w I mod 000 rIm
Register
I 01000reg
AAA = ASCII Adjust for Add
I 00110111
DAA = Decimal Adjust for Add
I 00100111
SUB = Subtract
Register/Memory and Register to Either
I 001010dw I mod reg rIm I
Immediate from Register/Memory
1100000SW I mod 010r/m I data I data if sw = 01
Immediate to Accumulator
I 0001110w I data I data if w = 1
DEC = Decrement
Register/Memory
I ll11111w mod 001 rIm
Register
I 01001reg
NEG = Change Sign
! 00111111
! 00101111
111010100 1 00001010
1 11010101 1 00001010
110011000
1 10011001
OR = Or
RegisterlMemory and Register to Either
I 000010dw I mod reg rim I
Immediate to Register/Memory
11000000W I mod 001 rIm data I data if w = 1
Immediate to Accumulator
I 0000110w I data I data if w = 1
XOR = Exclusive Or
Register/Memory and Register to Either
I 001100dw I mod reg rIm I
Immediate to RegisterlMemory
11000000W I mod 110 rim data data if w = 1
Immediate to Accumulator
I 0011010w data I data if w = 1
REP = Repeat
1 1111001z
11010010W
11010011W
11010111W
11010110w
11010101W
Control Transfer
CALL = Call
Direct Intersegment
10011010 offset-low offset-high
seg-Iow seg-high
Direct Intersegment
11101010 offset-low offset-high
seg-Iow seg-high
Indirect Intersegment
111111111 1 m9d 101 rIm
Within Segment
111000011
Intersegment
111000011
1 01110100 1 disp
I 01111100 I disp
JLE/JNG = Jump on Less, or Equal/Not Greater
101111110 I disp
JB/JNAE = Jump on Below/Not Above, or Equal
I 01110010 I disp
JBE/JNA = Jump on Below, or Equal/Not Above
I 01110110 I disp
JP/JPE = Jump on Parity/Parity Even
I 01111010 I disp
JO = Jump on Overflow
I 01110000 I disp
JS = Jump on Sign
I 01111000 I disp
JNE/JNZ = Jump on Not Equal/Not Zero
I 01110101 I disp
JNLlJGE = Jump on Not Less/Greater, or Equal
I 01111101 I disp
JNLE/JG = Jump on Not Less, or Equal/Greater
I 01111111 I disp
101110011 1 disp
101110111 1 disp
101111011 1 disp
1 01110001 1 disp
101111001 1 disp
1 11100010 1 disp
111100001 1 disp
111100000 1 disp
111100011 1 disp
"Above" and "below" refer to the relation between two unsigned values, while
"greater" and "less" refer to the relation between two signed values.
INT = Interrupt
Type Specified
111001101 1 Type
Type 3
111001100
111001110
11001111
111111000
111111001
111110101
NOP = No Operation
110010000
111111100
111111101
111111010
1111 11011
HLT = Halt
111110100
110011011
111110000
b Byte m Memory
d Direct rIm EA is Second Byte
i Immediate si Short, Intrasegment
ia Immed. to Accum. t To CPU Register
id Indirect v Variable
is Immed. Byte, Sign w Word
Ext.
Long. Intersegment z Zero
HID OR OR OR OR OR PUSH
b,f,r/m w,f,r/m b,t,r/m w,t,r/m b,i w,i CS
Notes
MF = Memory format
00 - 32-bit Real
01 - 32-bit Integer
10 - 64-bit Real
11 - 64-bit Integer
P = POP
o-No Pop
l-Pop ST(O)
R = Reverse
Data Transfer
FLD = Load
Integer/Real Memory to ST(O)
I escape MF 1 I mod 000 rIm I disp-Iow I disp-high
Long Integer Memory to ST(O)
I escape 111 I mod 101 rIm I disp-Iow I disp-high
FST = Store
8T(0) to Integer/Real Memory
I escape MF 1 I mod 010 rIm I disp-Iow I disp-high
8T(0) to 8T(i)
I escape 101 11 0108T(i)
FCOM = Compare
Arithmetic
FADD = Addition
ST(i) to ST(O)
1 escape dP 0 11 10Rr/m
FMUL = Multiplication
ST(i) to ST(O)
1 escape dP 0 11 001 rIm
FDIV = Division
ST(i) to ST(O)
1 escape dP 0 1 l111R rIm
ST(i) to ST(O)
1 escape dP 0 1 l111R rIm
Transcendental
F2XM1 = 2 ST(O) -1
1 escape 001 111110000
Processor Control
FNOP = No Operation
110011011
18 24 I Ctrl X
19 25 I Ctrl Y
1A 26 - Ctrl Z
1B 27 - Ctrl [
Esc, Shift
Esc, Ctrl
Esc
1C 28 L- Ctrl
1D
1E
29
30
-&
CtrlJ
Ctrl6
Backspace,
1F 31 ... Ctrl-
21 33 ! ! Shift
OA
22 34 " " Shift
23 35 # # Shift
24 36 $ $ Shift
25 37 % % Shift
27 39 Shift
28 40 ( ( Shift
29 41 ) )
2A 42 . . Note 1
2B 43 + + Shift
2C 44
2D 45 - -
2E 46 Note 2
He. Dec S,mbol Ke,.trOll.. Note. Hell Dac S,mbol Ke,.trok.. . Notes
2F 47 I I
48 75 K K Note 4
30 48 0 0 Note 3
4C 76 L L Note 4
31 49 1 1 Note 3
4D 77 M M Note 4
32 50 2 2 Note 3 4E 78 N N
33 51 3 3 Note 3 4F 79 0 0 Note 4
34 52 4 4 Note 3 50 60 P P Note 4
35 53 5 5 Note 3
51 81 Q Q Note 4
36 54 6 6 Note 3
52 62 R R Note 4
37 55 7 7 Note 3
53 63 S S Note 4
36 56 8 8 Note 3
54 64 T T Note 4
39 57 9 9 Note 3
55 85 U U Note 4
SA 58 : : Shift
56 86 V V Note 4
38 59 ; ;
57 87 W W Note 4
3C 60 < < Shift
58 88 X X Note 4
3D 61 = =
59 69 Y Y Note 4
3E 62 > > Shift
5A 90 Z Z Note 4
3F 63 ? ? Shift
58 91 [ [
40 64 @ @ Shift
5C 92 \ \ Note 4
41 65 A A Note 4
50 93 I I
42 68 8 8 Note 4
5E 94 1\ 1\ Shift
43 67 C C Note 4
44 68 0 0 Note·4
5F 85 - - Shift
45 69 E E Note 4
60 96 • •
61 97 a a Note 5
48 70 F F Note 4
47 71 62 98 b b Note 5
G G Note 4
48 72 63 99 c c Note 5
H H Note 4
64 100 d d Note 5
49 73 I I Note 4
68 102 f f Note 5
Hex Dec Symbol Keystroke. Nolas Hex Dec Symbol Kaystroka. Notea
6A 106 j j Nole5
83 131 A All 131 Nole6
6C 106 I I Note 5
85 133 a All 133 Nole6
60 109 m m NOle5
86 134 a All 134 Nole6
6F 111 0 0
68 138 A All 138 Note 6
NoteS
7C 124
I
I
I
I Shift 95 149 () Altl49 Note 6
7E 126
- - Shift 97 151 0 Alt151 Note 6
Note 6
7F 127 D. Clrl- 98 152 Y Altl52
Hex Dec Symbol Keystrokes Notes Hex Dec Symbol Keystrokes Notes
B7 163
9B 155 ¢ Alt 155 Note 6 ---n All 183 Note 6
~
9D 157 ¥ Alt 157 Note 6 B9 185 Alt 185 Note 6
BO 176
...
...
... Alt 176 Note 6
~-=
II
Bl 177 I Alt 177 Note 6
CA 202 Alt202 Note 6
B5 181
= Alt 181 Note 6
B6 182
-11 AIt.182 Note 6
CE
CF
206
207
=::=: AIt206
Alt207
Nole6
Note 6
F9 249
• Alt249 Note 6
FE
FF
254
255
•
BLANK
Alt254
Alt255
Note 6
Nole6
1. Asterisk (*) can be typed by pressing the • key or, in the Shift
state, pressing the 8 key.
2. Period (.) can be typed by pressing the. key or, in the Shift or
Num Lock state, pressing the Del key.
3. Numeric characters 0-9 can be typed by pressing the numeric
keys on the top row of the keyboard or, in the Shift or Num Lock
state, pressing the numeric keys in the keypad portion of the key-
board.
4. Uppercase alphabetic characters (A-Z) can be typed by pressing
the character key in the Shift or Caps Lock state.
5. Lowercase alphabetic characters (a-z) can be typed by pressing
the character key in the normal state or in Caps Lock and Shift
state combined.
6. The three digits after the Alt key are typed from the numeric
keypad. Character codes 001-255 may be entered in this fashion
(with Caps Lock activated, character codes 97-122 display upper-
case).
• •
DECIMAL
VALUE
.~~~~AL
•VALUE
0
0
16
1
32
2
48
3
64
4
80
5
96
6
,
112
@ p
,.
BLANK BLANK
0 0 (NULL) ~ (SPACE) 0 P
1 1 g ..... 1 A Q a q
2
3
2
3
-• " t II
.. #
2
3
B R
C S
b r
c s
4 4
•
4- § 0/0
'If $ 4
5
D T
E U
d t
e u
-
5 5
6 6 ~ & 6 F V f v
• -t
7 7
I
7 G W g W
8 8 i ( 8 H X h x
.
9 9 0 ~ ) 9 I y 1 Y
--.
10 A
* ·· J Z J z
11 B cJ +- + · K [ k {
'I
12 C S? L , < L 1 II
13 D ~ +--+ - -- M ] m } ""
14 E ~ •, . > N /\ n '"
15 F ~ / ? 0 - 0 6
•
0
I~~~AL
IItAUiE
0
8 9
,
C; E a
A
,
B C D E
ex: -
F
1 1
..
u re
,
1
000
.:::::....
.....
..... p +
, ,
2 2 e lE 0 l!!
,
I r >
3 3 a" 0" U r-- lL n <
.. .. ,.., b
4 4 a 0 n
, , ,...
f--
L r
5 5 a 0 N f::::: F a J
.
Jl -.
a u" a ---i
0
6 6 == -
,
7 7 ~
..U 0
--n T "'"
"'"
8 8 " .
e y (, 9 <I> 0
.. •• I J
9 9 e
,
0 I e •
e U -,
•• ~L
10 A Q •
..1 ¢ Y2 - 6
11 B I - -v-
12 c "1 £ Y4 ::::L 00 n
13 D
,
1 ¥ ,. ~ ¢ 2
14 E A R« d
~ E I
15 F A f » I n BLANK
'FF'
Glossary X-1
ASCII. American National Standard lation mechanism between hard-
Code for Information Interchange. ware and application software.
X-2 Glossary
dure, using a standardized set of bps. Bits per second.
control characters and control char-
acter sequences for synchronous BSC. Binary synchronous commu-
transmission of binary-coded data nications.
between stations.
buffer. (1) An area of storage that
BIOS. See "basic input/output" is temporarily reserved for use in
system. performing an input/output opera-
tion, into which data is read or from
bit. Synonym for binary digit. which data is written. Synonymous
with I/O area. (2) A portion of
bits per second (bps). A unit of storage for temporarily holding
measure representing the number of input or output data.
discrete binary digits transmitted by
a device in one second. bus. One or more conductors used
for transmitting signals or power.
block. (1) A string of records, a
string of words, or a character string byte. (1) A sequence of eight adja-
formed for technical or logic cent binary digits that are operated
reasons, to be treated as an entity. upon as a unit. (2) A binary char-
(2) A set of things, such as words, acter operated upon as a unit.
characters, or digits, treated as a (3) The representation of a char-
unit. acter.
Glossary X-3
character generator. (1) In com- CS. Chip select.
puter graphics, a functional unit that
converts the coded representation CTS. Clear to send. Associated
of a graphic character into the with modem control.
shape of the character for display.
(2) In word processing, the means cyclic redundancy check (CRC).
within equipment for generating (1) A redundancy check in which
visual characters or symbols from the check key is generated by a
coded data. cyclic algorithm. (2) A system of
error checking performed at both
character set. (1) A finite set of the sending and receiving station
characters upon which agreement after a block-check character has
has been reached and that is con- been accumulated.
sidered complete for some purpose.
(2) A set of unique representations daisy-chained. Two or more
called characters. (3) A defined devices or programs attached or
collection of characters. linked in series.
X-4 Glossary
disable. To stop the operation of a EBCDIC. Extended binary-coded
circuit or device. decimal interchange code.
Glossary X-5
error checking and correction be retrieved is the item that has
(ECC). The.detection and cor- been in the queue for the longest
rection of all single-bit errors, plus time.
the detection of double-bit and some
multiple-bit errors. flag. (1) Any of various types of
indicators used for identification.
ESC. The escape character. (2) A character that signals the
occurrence of some condition, such
escape character (ESC). A code as the end of a word. (3) Depre-
extension character used, in some cated term for mark.
cases, with one or more succeeding
characters to indicate by some con- flexible disk. Synonym for diskette.
vention or agreement that the coded
representations following the char- flip-flop. A circuit or device con-
acter or the group of characters are taining active elements, capable of
to be interpreted according to a dif- assuming either one of two stable
ferent code or according to a dif- states at a given time.
ferent coded character set.
font. A family or assortment of
extended blnary-coded decimal characters of a given size and style;
interchange code (EBCDIC). A set for example, 10 point Press Roman
of 256 characters, each represented medium.
by 8 bits.
format. The arrangement or layout
F. Fahrenheit. of data on a data medium.
X-6 Glossary
channel states. (2) A signal that Initialize. To set counters,
enables the passage of other switches, addresses, or contents of
signals through a circuit. storage to 0 or other starting values
at the beginning of, or at prescribed
gram (g). A unit of weight (equiv- points in, the operation of a com-
alent to 0.035 ounces). puter routine.
Glossary X-7
performed in such a way that the mAo Milliampere; 0.001 ampere.
process can be resumed. (2) In a
data transmission, to take an action machine code. The machine lan-
at a receiving station that causes guage used for entering text and
the transmitting station to terminate program instructions onto the
a transmission. (3) Synonymous recording medium or into storage
with interruption. and which is subsequently used for
processing and printout.
1/0. Input/output.
machine language. (1) A language
irrecoverable error. An error that that is used directly by a machine.
makes recovery impossible without (2) Deprecated term for computer
the use of recovery techniques instruction code.
external to the computer program or
run. magnetic disk. (1) A flat circular
plate with a magnetizable surface
k. Prefix kilo; 1000. layer on which data can be stored
by magnetic recording. (2) See also
K. 1024 (1024 = 2 to the 10th diskette.
power). When referring to storage
capacity, 1024 bytes. mark. A symbol or symbols that
indicate the beginning or the end of
kg. Kilogram; 1000 grams. a field, of a word, of an item of data,
or of a set of data such as a file, a
kHz. Kilohertz; 1000 hertz. record, or a block.
x-a Glossary
implemented in a part of storage area of recording media at single
that is not program-addressable. density.
Glossary X-9
then the NAND of p. Q .R •... is true if NRZI. Nonreturn-to-zero (inverted)
at least one statement is false. false recording.
if all statements are true.
ns. Nanosecond; 0.000000001
NAND gate. A gate in which the second.
output is 0 only if all inputs are 1.
NUL. The null character.
nano (n). Prefix 0.000000001.
null character (NUL). A control
nanosecond (ns). 0.000000001 character that is used to accomplish
second. media-fill or time-fill. and that may
be inserted into or removed from a
negative-going edge. The edge of a sequence of characters without
pulse or signal changing in a nega- affecting the meaning of the
tive direction. Synonymous with sequence; however. the control of
falling edge. the equipment or the format may be
affected by this character.
NMI. Non-maskable interrupt.
open collector. A switching tran-
nonreturn-to-zero change-on-ones sistor without an internal connection
recording (NRZI). A transmission between its collector and the
encoding method in which the data voltage supply. A connection from
terminal changes the signal to the the collector to the voltage supply is
opposite state to send a binary 1 made through an external (pull-up)
and leaves it in the same state to resistor.
send a binary O.
operand. (1) An entity to which an
nonreturn-to-zero (inverted) operation is applied. (2) That which
recording (NRZI). Deprecated term is operated upon. An operand is
for non-return-to-zero change-on- usually identified by an address part
ones recording. of an instruction.
NOR gate. A gate in which the OR. A logic operator having the
output is 0 only if at least one input property that if P is a statement. Q is
is 1. a statement. R is a statement •...•
then the OR of p. Q. R •... is true if at
NOT. A logical operator having the least one statement is true. false if
property that if P is a statement. all statements are false.
then the NOT of P is true if P is false.
false if P is true. OR gate. A gate in which the output
is 1 only if at least one input is 1.
X-10 Glossary
output. Pertaining to a device, using separate facilities for the
process, or channel involved in an various parts. (5) Contrast with
output process, or to the data or serial.
states involved in an output process.
parameter. (1) A variable that is
output process. (1) The process given a constant value for a speci-
that consists of the delivery of data fied application and that may denote
from a data processing system, or the application. (2) A name in a
from any part of it. (2) The return of procedure that is used to refer to an
information from a data processing argument passed to that procedure.
system to an end user, including the
translation of data from a machine parity bit. A birary digit appended
language to a language that the end to a group of binary digits to make
user can understand. the sum of all the digits either
always odd (odd parity) or always
overcurrent. A current of higher even (even parity).
than specified strength.
parity check. A redundancy check
overflow indicator. (1) An indicator that uses a parity bit.
that signifies when the last line on a
page has been printed or passed. picture element (PEL). In computer
(2) An indicator that is set on if the graphics, a basic graphic element
result of an arithmetic operation that can be used to construct a
exceeds the capacity of the accu- display image; for example, a dot, a
mulator. line segment, a character.
Glossary X-11
propagation delay. (1) The time read/write memory. A storage
necessary for a signal to travel from device whose contents can be modi-
one point on a circuit to another. fied. Also called RAM.
(2) The time delay between a signal
change at an input and the corre- recoverable error. An error condi-
sponding change at an output. tion that allows continued execution
of a program.
protocol. (1) A specification for the
format and relative timing of infor- red-green-blue-intensity (RGBI).
mation exchanged between commu- The description of a direct-drive
nicating parties. (2) The set of rules color monitor that accepts input
governing the operation of func- signals of red, green, blue, and
tional units of a communication intensity.
system that must be followed if com-
munication is to be achieved. redundancy check. A check that
depends on extra characters
pulse. A variation in the value of a attached to data for the detection of
quantity, short in relation to the time errors. See cyclic redundancy
schedule of interest, the final value check.
being the same as the initial value.
register. (1) A storage device,
radix. Another term for base. having a specified storage capacity
such as a bit, a byte, or word, and
radix numeration system. A posi- usually intended for a special
tional representation system in purpose. (2) A storage device in
which the ratio of the weight of any which specific data is stored.
one digit place to the weight of the
digit place with the next lower retry. To resend the current block
weight is a positive integer (the of data (from the last EOB or ETB) a
radix). The permissible values of the prescribed number of times, or until
character in any digit place range it is entered correctly or accepted.
from 0 to one less than the radix.
reverse video. A form of high-
RAM. Random access memory. lighting a character, field, or cursor
Read/write memory. by reversing the color of the char-
acter, field, or cursor with its back-
RAS. Row address strobe. ground; for example, changing a red
character on a black background to
read. To acquire or interpret data a black character on a red back-
from a storage device, from a data ground.
medium, or from another source.
RF modulator. The device used to
read-only memory (ROM). A convert a composite video signal to
storage device whose contents a radio-frequency signal that can be
cannot be modified. The memory is used at the antenna level input of a
retained when power is removed. home TV.
RGBI. Red-green-blue-intensity.
X-12 Glossary
RI. Ring indicate; a signal associ- serializer/deserializer (SEROES). A
ated with modem· control. device that serializes output from,
and deserializes input to, a business
rising edge. Synonym for positive- machine.
going edge.
short circuit. A low-resistance path
ROM. Read-only memory. through which current flows, rather
than through a component or circuit.
ROM/BIOS. The ROM resident
basic input/output system, which sink. A device or circuit into which
provides the level control of the current drains.
major I/O devices in the computer
system. SIP. Single-inline package.
Glossary X-13
time of occurrence of each signal nated by an EOT character.
representing a bit is related to a (4) Synonymous with data trans-
fixed time frame. (2) Data trans- mission.
mission in which the sending and
receiving devices are operating con- TTL. Transistor-transistor logic.
tinuously at substantially the same
frequency and are maintained, by typematic key. A keyboard key that
means of correction, in a desired repeats its function when held
phase relationship. pressed.
X·14 Glossary
Bibliography
Bibliography X-15
Notes:
X-16 Bibliography
Index
X-17
keystroke status 5-49 verify sectors 5-32, 5-36.4
memory size video state information 5-24
determination 5-29 video tables 5-25
model byte 5-65 wait 5-43
palette registers 5-17 write character at cursor 5-16
parameter passing 5-3 write dot 5-16
park heads 5-36.8 write sectors from
pOinting device 5-46 memory 5-32, 5-36.3
print character 5-53 write string 5-23
program termination 5-43 write teletype to display 5-17
programming write value at cursor 5-15
considerations 5-8 block diagram
read cursor position 5-14 parallel port 1-120
read OASO type 5-35, 5-36.7 serial port 1-105
read day counter 5-55 shared interrupt 1-15
read dot 5-17 system board 1-4
read drive parameters 5-34, system timer 1-9
5-36.5 video 1-37
read sectors into memory 5-31, bootstrap 5-54
5-36.2 border control register 1-55
read status 5-31, 5-36.2, 5-39, break code 4-4
5-53 break key 4-23
read system time counter 5-55 buffer, keyboard 4-3
read value at cursor bus card 1-23
position 5-15
receive character 5-38
reset disk 5-36.1 c
reset diskette 5-30 cable 4-46
return config parameters 5-45 CALL 6-15
return ext segment Canadian French keyboard 4-43
address 5-45 Canadian keyboard 4-28
ROM table 5-62 caps lock key 4-22
scroll active page down 5-15 CBW 6-12
scroll active page up 5-15 CGA border control register 1-55
select active display page 5-14 CGA mode control register 1-54
send character 5-38 channel check (-110 CH CK) 1-27
set color palette 5-16 channel ready (110 CH ROY) 1-27
set cursor position 5-14 channel, I/O
set cursor type 5-14 character box 1-38
set OASO type 5-35 character codes 4-11
set day counter 5-55 character generator routine 5-19
set media type 5-36 character matrix 1-65
set system time counter 5-55 character set, 512 1-67
set typematic rate 5-50 characters 7-2
shift status 5-49 chip select 1-8
software interrupts 5-4 CLC 6-20
system request 5-43 CLO 6-20
system services 5-42
X.18
CLI 6-20
ClK 1-26
D
clock (ClK) 1-26 Danish keyboard 4-29
clock and data signals 4-5 data
clock services 5-55 data area, BIOS 5-56
CMC 6-20 data bits (DO-D7) 1-26
CMP 6-11 data output, keyboard 4-6
CMPS 6-15 data stream, keyboard 4-6
codes data stream, serial port 1-106
character 4-11 data transfer instructions 6-7,6-24
extended 4-19 DEC 6-11
make/break 4-8 default colors 1-63
color palette load 1-58 delay, typematic 4-4
color/graphics description
See video I/O channel 1-26
colors, default 1-63 keyboard 4-3
colors, mode 4,5 1-55 parallel port 1-120
commands video 1-36
diskette drive 1-83 device busy 5-44
keyboard 4-7 device close 5-42
comparison instructions 6-26 device open 5-42
configuration register 1-81 digital I/O registers 1-80
connectors disk change line status 5-35
fixed disk 1-104.1 diskette controller select 1-8
I/O channel 1-25 diskette drive interface 1-78
keyboard and pointing change signal 1-80
device 4-46 commands 1-83
parallel port 1-124 data transfer 1-81
power supply 1-128,3-6 parameter table 5-64
serial port 1-119 phase-lock loop 1-78
system board 1-126,1-127 registers 1-79
video 1-77 status registers 1-99
constants instructions 6-29 diskette interrupt, BIOS 5-30
control key 4-21 diskette parameter table 5-64
control transfer instructions 6-15 display combination code, r/w 5-24
controller, diskette 1-81 display support, video 1-38
Ctrl state 4-19 DlV 6-12
current video state 5-17 DMA request 1 to 3
cursor position 5-14 (DRQ1 - DRQ3) 1-26
CWD 6-12 DOS reserved interrupts 5-7
Dutch keyboard 4-30
X-19
E FNOP 6-31
font save table 1-70
encoding, keyboard 4-11
fonts, RAM-Ioadable 1-64
equipment determination 5-28
format track 5-33, 5-36.4
ESC 6-21
FPATAN 6-28
event wait 5-43
FPREM 6-27
extended ASCII 4-11
FPTAN 6-28
extended codes 4-19 French keyboard 4-31
extended codes, keyboard 4-21
FRNDINT 6-28
extended data area, BIOS 5-61
FRSTOR 6-30
extended initialize 5-40
FSAVE 6-30
extended keyboard read 5-51
FSCALE 6-27
extended keystroke status 5-51
FSQRT 6-27
extended shift status 5-52
FST 6-25
FSTCW 6-30
FSTENV 6-30
F FSTP 6-25
FABS 6-28 FSTSW 6-30
FADD 6-26 FSUB 6-27
FCHS 6-28 FTST 6-26
FCLEX 6-30 function enable 1-8
FCOM 6-26 functionality and state
FCOMP 6-26 information 5-25
FCOMPP 6-26 FWAIT 6-31
FDECSTP 6-30 FXAM 6-26
FDISI 6-29 FXCH 6-25
FDIV 6-27 FXTRACT 6-28
FENI 6-29 FYL2X 6-28
FFREE 6-31 FYL2XP1 6-28
FIFO 4-3 F2XM1 6-28
FINCSTP 6-30
FINIT 6-29
fixed disk connector 1-104.1 G
fixed disk controller select 1-8
gate array
fixed disk interrupt, BIOS 5-36.1 diskette drive 1-78
fixed disk parameter table 5-62
110 support 1-8
FLD 6-24
system support 1-6
FLDCW 6-30
German keyboard 4-32
FLDENV 6-30
graphics modes 1-41
FLDLG2 6-29
FLDLN2 6-29
FLDL2T 6-29 H
FLDP1 6-29
hardware interrupts 1-13,5-4
FLDZ 6-29
HLT 6-20
FLD1 6-29
FMUL 6-27
X-20
bootstrap 5-54
I clock services 5-55
I/O CH CK 1-27 hardware 1-13,5-4
I/O channel 1-23 keyboard 5-12
address map 1-24 NMI routine 5-10
ALE (address latch print screen 5-10
enable) 1-26 printer 5-53
channel check (-1/0 CH shared logic 1-15
CK) 1-27 sharing 1-14
channel ready (1/0 CH software 5-4
ROY) 1-27 system timer 5-11
ClK 1-26 10, video 5-13
connector 1-25 11, equipment
description 1-26 determination 5-28
-memory refresh 1-27 12, memory size 5-29
-MEMR, -MEMW 1-27 13, diskette 5-30
oscillator (OSC) 1-27 13, fixed disk 5-36.1
read (-lOR) 1-27 14, communications 5-37
Reset Drive (RESET DRV) 1-27 15, system services 5-42
terminal count (TC) 1-28 16, keyboard 5-49
timing 1-28 interrupt complete 5-44
write (-lOW) 1-27 interrupt identificatio!,)
1/0 port 1-11,1-125 register 1-109
1/0 support gate array 1-8 interrupt requests 1-27
IDIV 6-12 INTO 6-19
IMUl 6-12 IRET 6-19
IN 6-8 Israeli keyboard 4-33
INC 6-10 Italian keyboard 4-34
information, return video 5-24
initializatiol"! tables 1-62
initialize J
initialize the communications
JB/JNAE 6-17
port 5-37
JBE/JNA 6-17
initialize the printer port 5-53
JCXZ 6-18
instructions JE/JZ 6-16
arithmetic 6-9, 6-26
Jl/JNGE 6-17
comparison 6-26
JlE/JNG 6-17
constants 6-29
JMP 6-16
control transfer 6-15
JNB/JAE 6-18
data transfer 6-7,6-24
JNBE/JA 6-18
diskette drive 1-83
JNE/JNZ 6-17
logic 6-13 JNLlJGE 6-17
rotate 6-13
JNlE/JG 6-17
shift 6-13
JNO 6-18
string manipulation 6-15
JNP/JPO 6-18
INT 6-19 JNS 6-18
interrupt 1-13
JO 6-17
BIOS interface listing 5-5
joystick 5-43
X-21
JP/JPE 6-17 US English 4-42
JS 6-17 keyboard write 5-50
keys, typematic 4-4
keystroke status 5-49
K
key-code scanning 4-3
keyboard 4-3 L
basic assurance test 4-4 LAHF 6-9
buffer 4-3 Latin American keyboard 4-35
cable 4-46 layout, keyboard 4-12
commands 4-7 layouts, keyboard
connector 1-128 Arabic 4-26
data output 4-6 Belgian 4-27
data stream 4-6 Canadian 4-28
encoding 4-11 Canadian French 4-43
interrupt 09 5-12 Danish 4-29
interrupt 16 5-49 Dutch 4-30
key-code scanning 4-3 French 4-31
layout 4-12 German 4-32
line protocol 4-5 Israeli 4-33
make/break 4-4 Italian 4-34
paR (power.-on reset) 4-4 Latin American 4-35
routine 4-24 Norwegian 4-36
scan codes 4-8 Portuguese 4-37
shift states 4-21 Spanish 4-38
keyboard controller 1-9 Spanish/Latin 4-44
keyboard intercept 5-42 Swedish 4-39
keyboard layouts Swiss 4-40
Arabic 4-26 U.S.A. English 4-45
Belgian 4-27 UK English 4-41
Canadian 4-28 US English 4-42
Canadian French 4-43 LOS 6-9
Danish 4-29 LEA 6-9
Dutch 4-30 LES 6-9
French 4-31 line protocol 4-5
German 4-32 listing, software interrupt 5-5
Israeli 4-33 ioadable fonts 1-64
Italian 4-34 loading color palette 1-58
Latin American 4-35 locations, system board 1-126,
Norwegian 4-36 1-127
Portuguese 4-37 LOCK 6-21
Spanish 4-38 LaDS 6-15
Spanish/Latin 4-44 logic instructions 6-13
Swedish 4-39 LOOP 6-18
Swiss 4-40 LOOPNZ/LOOPNE 6-18
U.S.A. English 4-45 LOOPZ/LOOPE 6-18
UK English 4-41
X-22
M o
main status register 1-81 OR 6-14
make code 4-4 oscillator (OSC), I/O channel 1-27
memory OUT 6-8
control/status register 1-22 output, keyboard 4-6
read-only 1-22 Overrun command 4-7
read/write 1-22
reserved locations 5-8
ROM table 5-62
p
memory map page down 5-15
BIOS 5-8 palette registers 5-17
video font 1-64 parallel port 1-120
video storage 1-42 parallel port select 1-8
memory map, system 1-5 parameter passing (BIOS) 5-3
memory read (-MEMR) 1-27 park heads 5-36.8
memory refresh (-MREF) 1-27 pause key 4-23
memory size determination 5-29 pointing device 5-46
-MEMW (memory write) 1-27 pointing device controller 1-9
microprocessor 1-5 POP 6-8
mode control register 1-54 POPF 6-9
mode 4,5 colors 1-55 Portuguese keyboard 4-37
mqdel byte 5-65 power good 3-5
modem control/status power-on routine, keyboard 4-4
registers 1-112 power requirements 4-47
modes, video 1-39 power supply 3-3
modules, RAM 1-22 circuit protection 3-5
modules, ROM/EPROM 1-22 connector 1-128
MOV 6-7 connectors 3-6
MOVS 6-15 inputs 3-4
MUl 6-12 outputs 3-4
power good signal 3-5
print character 5-53
N print screen key 4-23
NEG 6-11 print screen, interrupt 05 5-10
non-maskable interrupt printer interrupt 5-53
routine 5-10 priorities, shift key 4-22
NOP 6-20 processor control, 8087 6-29
Norwegian keyboard 4-36 program termination 5-43
NOT 6-13 programming considerations
number lock key 4-22 BIOS 5-8
Numlock state 4-19 chip selects 1-8
interrupt sharing 1-15
video 1-71
protocol 4-5
PUSH 6-7
PUSHF 6-9
X-23
reserved interrupts, BASIC and
Q DOS 5-7
quick reference charts 7-8 reset disk system 5-36.1
quick reference, character set 7-8 reset diskette system 5-30
reset drive signal (RESET
DRV) 1-27
R reset, power-on 4-4
RAM modules 1-22 reset, system 4-23
RAM subsystem 1-22 RET 6-16
RAS port registers 1-79 return config parameters 5-45
rate, typematic 4-4 return ext segment address 5-45
RCL 6-13 return video information 5-24
RCR 6-13 ROL 6-13
read cursor position 5-14 ROM subsystem 1-22
read DASD type 5-35,5-36.7 ROM table 5-62
read day counter 5-55 ROM, adapters with 5-9
read dot 5-17 ROR 6-13
read drive parameters 5-34, 5-36.5 rotate instructions 6-13
read sectors into memory 5-31, routine, keyboard 4-24
5-36.2
read status 5-39, 5-53
read status disk 5-36.2 S
read status diskette 5-31 SAHF 6-9
read system time counter 5-55 SAR 6-13
read value at cursor position 5-15 save table 1-70
readlwrite display code 5-24 SBB 6-11
read, 1/0 channel 1-27 scan codes 4-8
read, memory (-MEMR) 1-27 scanning, key-code 4-3
ready (IIO CH RDY) 1-27 SCAS 6-15
receive character 5-38 scroll active page down 5-15
register, border control 1-55 scroll active page up 5-15
registers scroll lock key 4-22
color palette 1-57 select active display page 5-14
diskette drive 1-79 send character 5-38
memory controller 1-44 serial port 1-105
parallel port 1-120 connector 1-119
serial port 1-107 signals 1-117
system board control 1-8 serial port interrupt call 5-37
system board RAM serial port select 1-8
control 1-22 set color palette 5-16
video 1-44 set cursor position 5-14
video formatter 1-53 set cursor type 5-14
REP 6-15 set DASD type 5-35
request/grant 1-6 set day counter 5-55
requests set media type 5-36
DMA 1-26 set system time counter 5-55
interrupts 1-27 set typematic rate 5-50
X-24
shared interrupt logic 1-15 system board RAM control
sharing, interrupt 1-14 register 1-22
shift instructions 6-13 system clock (ClK) 1-26
shift key 4-21 system memory map 1-5
shift key priorities 4-22 system request 5-43
shift states 4-21 system request key 4-23
shift status 5-49 system reset 4-23
SHLlSAl 6-13 system services interrupt 5-42
SHR 6-13 system support gate array 1-6
signals (I/O) system timer 1-9
diskette 1-102 system timer, interrupt 08 5-11
I/O channel 1-26 system, return parameters 5-45
keyboard 4-5
parallel port 1-120
RQ/GT 1-6 T
serial port 1-117 tables, video 5-25
software interrupts 5-4 terminal count (TC) 1-28
Spanish keyboard 4-38 TEST 6-14
Spanish/latin keyboard 4-44 text modes 1-40
speaker (beeper) 1-125 time of day, interrupt 1A 5-55
speaker tone generation 1-10 timer/counter 1-9
specifications timer, system 1-9
keyboard 4-47 timing
parallel port 1-120 color palette 1-72
serial port 1-119 DMA operation 1-34
system board 1-129 I/O channel 1-28
states, shift parallel port 1-122
static functionality table 5-26 tone generation, beeper 1-10
status registers, diskette 1-99 typematic keys 4-4
STC 6-20
STD 6-20
STI 6-20
STOS 6-15
u
U.K. English keyboard 4-41
string manipulation U.S.A. English keyboard 4-45
instructions 6-15 US English keyboard 4-42
SUB 6-10
subsystem
RAM 1-22 v
ROM 1-22 vectors with special meanings 5-5
video 1-36 verify sectors 5-32, 5-36.4
support, joystick 5-43 video 1-36
supported drives 5-30 alternate parameters
Swedish keyboard 4-39 table 1-70
Swiss keyboard 4-40 BIOS tables 5-25
system board border control 1-55
functional diagram 1-4 character size 1-38
system board control register 1-8 color palette registers 1-57
X-2S
connector 1-77
considerations 1-71
w
default tables 1-62 wait 5-43, 6-21
display format 1-40 write character at cursor 5-16
display support 1-38 write dot 5-16
formatter registers 1-53 write memory command
interrupt 10 5-13 (-MEMW) 1-27
loadable fonts 1-64 write sectors from memory 5-32,
memory controller 5-36.3
registers 1-44 write string 5-23
memory maps 1-42 write teletype to display 5-17
mode 4,5 colors 1-55 write value at cursor 5-15
modes 1-39 write, 1/0 channel (-lOW) 1-27
timing 1-72
512 characters 1-67
video controller select 1-8
X
video state information 5-24 XCHG 6-8
XLAT 6-9
XOR 6-14
Numerics
512 character set 1-67
8086 microprocessor 1-5
8253 timerlcounter 1-9
X-26
--
-
--
-
-
---
- -- -
--
-
-
-
-- - ---
- - ----
---_.-
- --
®
©Copyright
International Business
Machines Corporation, 1987
All Rights Reserved
Printea in the
United States of America
References in this
publication to IBM
products or services do not
imply that IBM intends
to make them available
outside the United States.
84X0672