PORTIBM PC Portable (uses same BIOS as XT) 0060-006F - KEYBOARD CONTROLLER 804x (8041, 8042) (or PPI (8255) on PCIBM PC,XTIBM PC XT) Note: XTIBM PC XT uses ports 60h-63h, ATIBM PC AT uses ports 60h-64h 0060 RW KB controller data port or keyboard input buffer (ISA(Industry-Standard Architecture) The expansion bus used by the IBMInternational Busiuness Machines PCIBM PC/ATIBM PC AT. See also EISA., EISA(Enhanced Industry-Standard Architecture) A 32-bit superset of the IBMInternational Busiuness Machines ATIBM PC AT's expansion bus (which is now known as the ISA or Industry-Standard Architecture bus).) should only be read from after status port bit0 = 1 should only be written to if status port bit1 = 0 0060 R- KeyBoard or KB controller data output buffer (via PPI on XTIBM PC XT) PCIBM PC: input from port A of 8255, if bit7 in 61h set (see #P0396) get scancodes, special codes (in PCIBM PC: with bit7 in 61h cleared) (see #P0390) 0061 R- KB controller port B control register (ISA(Industry-Standard Architecture) The expansion bus used by the IBMInternational Busiuness Machines PCIBM PC/ATIBM PC AT. See also EISA., EISA(Enhanced Industry-Standard Architecture) A 32-bit superset of the IBMInternational Busiuness Machines ATIBM PC AT's expansion bus (which is now known as the ISA or Industry-Standard Architecture bus).) system control port for compatibility with 8255 (see #P0393) 0061 -W KB controller port B (ISA(Industry-Standard Architecture) The expansion bus used by the IBMInternational Busiuness Machines PCIBM PC/ATIBM PC AT. See also EISA., EISA(Enhanced Industry-Standard Architecture) A 32-bit superset of the IBMInternational Busiuness Machines ATIBM PC AT's expansion bus (which is now known as the ISA or Industry-Standard Architecture bus).) (PS/2IBM PS/2, any model port A is at 0092) system control port for compatibility with 8255 (see #P0392) 0061 -W PPI Programmable Peripheral Interface 8255 (XTIBM PC XT only) system control port (see #P0394) 0062 RW PPI (XTIBM PC XT only) data port C (see #P0395) 0063 RW PPI (XTIBM PC XT only) command mode register (see #P0397) 0064 R- keyboard controller read status (see #P0398,#P0399,#P0400) 0064 -W keyboard controller input buffer (ISA(Industry-Standard Architecture) The expansion bus used by the IBMInternational Busiuness Machines PCIBM PC/ATIBM PC AT. See also EISA., EISA(Enhanced Industry-Standard Architecture) A 32-bit superset of the IBMInternational Busiuness Machines ATIBM PC AT's expansion bus (which is now known as the ISA or Industry-Standard Architecture bus).) (see #P0401) 0064 -W (Amstrad/Schneider PC1512) set 'DIP switch S1' setting stored in CMOS RAMA small amount (typically 64 or 128 bytes) of memory in the system's real-time clock chip that is preserved by the clock's battery and is used for storing configuration information. See also Real-Time Clock. that PPI should report for compatibility 0065 -W (Amstrad/Schneider PC1512) set 'DIP switch S2' RAM(Random Access Memory) See also DRAM, SRAM. size setting stored in CMOS RAMA small amount (typically 64 or 128 bytes) of memory in the system's real-time clock chip that is preserved by the clock's battery and is used for storing configuration information. See also Real-Time Clock., that PPI port C (PORTIBM PC Portable (uses same BIOS as XT) 0064h) should report for compatibility 0065 R- communications port (Olivetti M24) 0066 R? configuration port (Olivetti M24 with model byte 0) bit 5 set if 8530 SIO present (see also PORTIBM PC Portable (uses same BIOS as XT) 0065h"Olivetti") Bitfields for ATIBM PC AT keyboard controller input port: Bit(s) Description (Table P0381) 7 keyboard enabled 6 =0 CGAColor Graphics Adapter(Color/Graphics Adapter) One of the two video display boards introduced together with the original IBMInternational Busiuness Machines PCIBM PC. See also HGC, MDA., else MDA(Monochrome Display Adapter) A text-only video adapter introduced together with the original IBMInternational Busiuness Machines PCIBM PC. See also CGAColor Graphics Adapter, HGC. 5 =0 manufacturing jumper installed 4 =0 system RAM(Random Access Memory) See also DRAM, SRAM. 512K, else 640K 3-0 reserved SeeAlso: #P0382,#P0384 Bitfields for ATIBM PC AT keyboard controller input port (Compaq): Bit(s) Description (Table P0382) 7 security lock is unlocked 6 =0 Compaq dual-scan display, 1=non-Compaq display 5 system board dip switch 5 is OFF 4 =0 auto speed selected, 1=high speed selected 3 =0 slow (4MHz), 1 = fast (8MHz) 2 no math coprocessor installed 1-0 reserved SeeAlso: #P0383 Bitfields for ATIBM PC AT keyboard controller output port: Bit(s) Description (Table P0383) 7 keyboard data output 6 keyboard clock output 5 input buffer NOT full 4 output buffer NOT empty 3 reserved (see note) 2 reserved (see note) 1 gate A20(Address line 20) The 80286 and higher CPUs allow addresses in real mode to extend slightly beyond the one megabyte mark, which causes an incompatibility with some older programs which expect such addresses to wrap back to the beginning of the address space. For complete compatibility with the 8088, newer machines thus contain circuitry which permits the twenty-first address line (A20) to be disabled. The CPU then effectively has only twenty address lines in real mode, just as the 8088 does, and addresses which would extend beyond the one megabyte mark wrap to the beginning of the address space. See also High Memory Area, Real Mode. 0 system reset Note: bits 2 and 3 are the turbo speed switch or password lock on Award/AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985./Phoenix BIOSes. These bits make use of nonstandard keyboard controller BIOS(Basic Input/Output System) A set of standardized calls giving low-level access to the hardware. The BIOS is the lowest software layer above the actual hardware and serves to insulate programs (and operating systems) which use it from the details of accessing the hardware directly. functionality to manipulate pin 23 (8041 port 22) as turbo switch for AWARD pin 35 (8041 port 15) as turbo switch/pw lock for Phoenix SeeAlso: #P0381,#P0384 Bitfields for HP Vectra keyboard controller output port: Bit(s) Description (Table P0384) 7-5 reserved 4 output buffer full (OBF) interrupt 3 HP SVC interrupt 2 HP-HIL controller AutoPoll 1 A20(Address line 20) The 80286 and higher CPUs allow addresses in real mode to extend slightly beyond the one megabyte mark, which causes an incompatibility with some older programs which expect such addresses to wrap back to the beginning of the address space. For complete compatibility with the 8088, newer machines thus contain circuitry which permits the twenty-first address line (A20) to be disabled. The CPU then effectively has only twenty address lines in real mode, just as the 8088 does, and addresses which would extend beyond the one megabyte mark wrap to the beginning of the address space. See also High Memory Area, Real Mode. gate 0 system reset SeeAlso: #P0383,#P0385 Bitfields for HP Vectra command byte: Bit(s) Description (Table P0385) 7 reserved (0) 6 scancode conversion mode (1 = PCIBM PC/XTIBM PC XT, 0 = PCIBM PC/ATIBM PC AT) 5 unused 4 disable keyboard (unless bit 3 set) 3 override keyboard disable 2 System Flag (may be read from PORTIBM PC Portable (uses same BIOS as XT) 0060h) 1 reserved 0 OBF interrupt enable SeeAlso: #P0384 (Table P0386) Values for keyboard commands (data also goes to PORTIBM PC Portable (uses same BIOS as XT) 0060h): Value Count Description EDh double set/reset mode indicators Caps Num Scrl bit 2 = CapsLk, bit 1 = NumLk, bit 0 = ScrlLk all other bits must be zero. EEh sngl diagnostic echo. returns EEh. EFh sngl NOP (No OPeration). reserved for future use EF+26h double [Cherry MF2 G80-1501HAD] read 256 bytes of chipcard data keyboard must be disabled before this and has to be enabled after finished. F0h double get/set scan code set 00h get current set 01h scancode set 1 (PCs and PS/2IBM PS/2, any model mod 30, except Type 2 ctrlr) 02h scancode set 2 (ATs, PS/2IBM PS/2, any model, default) 03h scancode set 3 F1h ??? select menu command F2h sngl read keyboard ID (read two ID bytes) ATIBM PC AT keyboards returns FA (ACK) MF2 returns AB 41 (translation) or AB 83 (pass through) F3h double set typematic rate/delay format of the second byte: bit7=0 : reserved bit6-5 : typemativ delay 00b=250ms 10b= 750ms 01b=500ms 11b=1000ms bit4-0 : typematic rate (see #P0391) F4h sngl enable keyboard F5h sngl disable keyboard. set default parameters (no keyboard scanning) F6h sngl set default parameters F7h sngl [MCA] set all keys to typematic (scancode set 3) F8h sngl [MCA] set all keys to make/release F9h sngl [MCA] set all keys to make only FAh sngl [MCA] set all keys to typematic/make/release FBh sngl [MCA] set al keys to typematic FCh double [MCA] set specific key to make/release FDh double [MCA] set specific key to make only FEh sngl resend last scancode FFh sngl perform internal power-on reset function Note: each command is acknowledged by FAh (ACK), if not mentioned otherwise. See PORTIBM PC Portable (uses same BIOS as XT) 0060h-R for details. SeeAlso: #P0387 (Table P0387) Values for Mouse functions (for PSIBM PS/2, any model/2-like pointing devices): Value Count Description E6h sngl set mouse scaling to 1:1 E7h sngl set mouse scaling to 2:1 E8h double set mouse resolution (00h=1/mm, 01h=2/mm, 02h=4/mm, 03h=8/mm) E9h sngl get mouse information read two status bytes: byte 0: flags (see #P0388) byte 1: resolution EAh sngl set mouse to stream mode (mouse sends data on any changes) EBh sngl get mouse data (from mouse to controller) (see #P0389) on reading, each data packet consists of 8 bytes: ECh sngl reset mouse wrap mode (to normal mode) EEh sngl set wrap mode F0h sngl set remote mode (instead of stream mode), mouse sends data only on issueing command EBh. F2h sngl read mouse ID (read one, two?? ID bytes) 00h=mouse F3h double set mouse sample rate in reports per second 0Ah=10/s 50h= 80/s 14h=20/s 64h=100/s 28h=40/s C8h=200/s 3Ch=60/s F4h sngl enable mouse (in stream mode) F5h sngl disable mouse (in steam mode), set default parameters F6h sngl reset to defaults: 100/s, scaling 1:1, stream-mode, 4/mm, disabled FEh sngl resend last mouse data (8 bytes, see EBh) FFh sngl reset mouse Notes: must issue command D4h to PORTIBM PC Portable (uses same BIOS as XT) 0064h first to access mouse functions all commands except ECh and FFh are acknowledged by FAh (ACK) or FEh (Resend); get mouse ID (F2h) returns mouse ID. SeeAlso: #P0386 Bitfields for mouse status byte 0: Bit(s) Description (Table P0388) 7 unused 6 remote rather than stream mode 5 mouse enabled 4 scaling set to 2:1 3 unused 2 left button pressed 1 unused 0 right button pressed SeeAlso: #P0387,#P0389 Format of mouse data packet: Offset Size Description (Table P0389) 00h BYTE status bit7 : y-data overrun bit6 : x-data overrun bit5 : y-data negative bit4 : x-data negative bit3-2=0: reserved bit1 : right button pressed bit0 : left button pressed 01h BYTE reserved 02h BYTE x-data 03h BYTE reserved 04h BYTE y-data 05h BYTE reserved 06h BYTE z-data (0) 07h BYTE reserved SeeAlso: #P0387,#P0388 (Table P0390) Values for keyboard special codes: 00h (MF2 in codeset2&3 or ATIBM PC AT keyboards) keydetection/overrun error 00h (mouse) ID AAh BAT completion code (sent after errorfree Basic Assurance Test) ABh first byte of general MF2 keyboard ID EEh Echo command return F0h keyboard break code FAh Acknowledge (all general commands except Resend and Echo) FAh (mouse) Acknowledge (all commands except commands ECh,F2h,FFh) FCh (MF2) BAT Failure Code (error in second half of the power on self test) FDh (AT-keyboard) BAT Failure Code (error in the second half of the power-on self test) FEh Resend: CPU(Central Processing Unit) The microprocessor which executes programs on your computer. to controller should resend last keyboard-command FEh (mouse) CPU(Central Processing Unit) The microprocessor which executes programs on your computer. to controller should resend last mouse-command FFh (MF2 in codeset1) keydetection/overrun error Note: keyboard stops scanning and waits for next command after returning code FCh or FDh SeeAlso: PORTIBM PC Portable (uses same BIOS as XT) 0060h-R (Table P0391) Values for keyboard typematic rate: 00000b=30.0 10000b=7.5 00001b=26.7 10001b=6.7 00010b=24.0 10010b=6.0 00011b=21.8 10011b=5.5 00100b=20.0 10100b=5.0 00101b=18.5 10101b=4.6 00110b=17.1 10110b=4.3 00111b=16.0 10111b=4.0 01000b=15.0 11000b=3.7 01001b=13.3 11001b=3.3 01010b=12.0 11010b=3.0 01011b=10.9 11011b=2.7 01100b=10.0 11100b=2.5 01101b= 9.2 11101b=2.3 01110b= 8.5 11110b=2.1 01111b= 8.0 11111b=2.0 SeeAlso: #P0386 Bitfields for KB controller port B (system control port) [output]: Bit(s) Description (Table P0392) 7 pulse to 1 for IRQ1 reset (PCIBM PC,XTIBM PC XT) 6-4 reserved 3 I/O channel parity check disable 2 RAM(Random Access Memory) See also DRAM, SRAM. parity check disable 1 speaker data enable 0 timer 2 gate to speaker enable SeeAlso: PORTIBM PC Portable (uses same BIOS as XT) 0061h-W,#P0393 Bitfields for KB ctrller port B control register (system control port) [input]: Bit(s) Description (Table P0393) 7 RAM(Random Access Memory) See also DRAM, SRAM. parity error occurred 6 I/O channel parity error occurred 5 mirrors timer 2 output condition 4 toggles with each refresh request 3 NMIsee Non-Maskable Interrupt I/O channel check status 2 NMIsee Non-Maskable Interrupt parity check status 1 speaker data status 0 timer 2 clock gate to speaker status Note: also supported by OPTi 82C392 SeeAlso: PORTIBM PC Portable (uses same BIOS as XT) 0061h-R,#P0392 Bitfields for Progr. Peripheral Interface (8255) system control port [output]: Bit(s) Description (Table P0394) 7 clear keyboard (only pulse, normally kept at 0) 6 =0 hold keyboard clock low 5 NMIsee Non-Maskable Interrupt I/O parity check disable 4 NMIsee Non-Maskable Interrupt RAM(Random Access Memory) See also DRAM, SRAM. parity check disable 3 =0 read low nybble of switches S2 =1 read high nybble of switches S2 2 reserved, often used as turbo switch original PCIBM PC: cassette motor off 1 speaker data enable 0 timer 2 gate to speaker enable Note: bits 2 and 3 are sometimes used as turbo switch SeeAlso: PORTIBM PC Portable (uses same BIOS as XT) 0061h-W,#P00051,#P0395,#P0396,#P0397 Bitfields for PPI (XTIBM PC XT only) data port C: Bit(s) Description (Table P0395) 7 RAM(Random Access Memory) See also DRAM, SRAM. parity error occurred 6 I/O channel parity error occurred 5 timer 2 channel out 4 reserved original PCIBM PC: cassette data input --- 3 system board RAM(Random Access Memory) See also DRAM, SRAM. size type 1 2 system board RAM(Random Access Memory) See also DRAM, SRAM. size type 2 1 coprocessor installed 0 loop in POSTsee Power-On Self-Test --- 3-0 DIL switch S2 high/low nybble (depending on PORTIBM PC Portable (uses same BIOS as XT) 0061h bit 3) SeeAlso: PORTIBM PC Portable (uses same BIOS as XT) 0062h-RW,#P0394,#P0396,#P0397 Bitfields for PPI (PCIBM PC,XTIBM PC XT only) equipment switches [input]: Bit(s) Description (Table P0396) 7-6 number of disk drives 00 1 diskette drive 01 2 diskette drives 10 3 diskette drives 11 4 diskette drives 5-4 initial video 00 reserved (video adapter has on-board BIOS(Basic Input/Output System) A set of standardized calls giving low-level access to the hardware. The BIOS is the lowest software layer above the actual hardware and serves to insulate programs (and operating systems) which use it from the details of accessing the hardware directly.) 01 40*25 color (mono mode) 10 80*25 color (mono mode) 11 MDA(Monochrome Display Adapter) A text-only video adapter introduced together with the original IBMInternational Busiuness Machines PCIBM PC. See also CGAColor Graphics Adapter, HGC. 80*25 3-2 memory size (using 256K chips) 00 256K 01 512K 10 576K 11 640K 3-2 memory size (using 64K chips) 00 64K 01 128K 10 192K 11 256K 3-2 memory size (original PCIBM PC) 00 16K 01 32K 10 48K 11 64K 1-0 reserved 1 NPU (math coprocessor) present 0 boot from floppy SeeAlso: #P0395,#P0397,PORTIBM PC Portable (uses same BIOS as XT) 0060h-R Bitfields for PPI (8255) command mode register: Bit(s) Description (Table P0397) 7 activation function (0 = bit set/reset, 1 = mode set function) 6,5 port A mode: 00 = mode0, 01 = mode1, 1x = mode2 4 port A direction: 0 = output, 1 = input 3 port C bits 7-4 direction: 0 = output, 1 = input 2 port B mode: 0 = mode0, 1 = mode1 1 port B direction: 0 = output, 1 = input 0 port C bits 3-0 direction: 0 = output, 1 = input Note: Attention: Never write anything other than 99h to this port (better: never write anything to this port, only during BIOS(Basic Input/Output System) A set of standardized calls giving low-level access to the hardware. The BIOS is the lowest software layer above the actual hardware and serves to insulate programs (and operating systems) which use it from the details of accessing the hardware directly. init), as other values may connect multiple output drivers and will cause hardware damage in PCIBM PC/XTs! By setting command word to 99h, PPI will be set in input/output modes as it is necessary to support the commonly known IO-ports 60, 61, 62 as desired. SeeAlso: #P0394,#P0395,#P0396 Bitfields for keyboard controller read status (ISA(Industry-Standard Architecture) The expansion bus used by the IBMInternational Busiuness Machines PCIBM PC/ATIBM PC AT. See also EISA., EISA(Enhanced Industry-Standard Architecture) A 32-bit superset of the IBMInternational Busiuness Machines ATIBM PC AT's expansion bus (which is now known as the ISA or Industry-Standard Architecture bus).): Bit(s) Description (Table P0398) 7 parity error on transmission from keyboard 6 receive timeout 5 transmit timeout 4 keyboard interface inhibited by keyboard lock or by password server mode (IBMInternational Busiuness MachinesInternational Busiuness Machines) A hardware, software and other service technology company founded in 1911. PSIBM PS/2, any model/2-286 [model bytes FCh/09h], "Tortuga" [model F8h/19h]) (see #00515 at INT 15/AH=C0h) 3 =1 data written to input register is command (PORTIBM PC Portable (uses same BIOS as XT) 0064h) =0 data written to input register is data (PORTIBM PC Portable (uses same BIOS as XT) 0060h) 2 system flag status: 0=power up or reset 1=selftest OK 1 input buffer full (input 60/64 has data for 8042) no write access allowed until bit clears 0 output buffer full (output 60 has data for system) bit is cleared after read access SeeAlso: PORTIBM PC Portable (uses same BIOS as XT) 0064h-R,#P0399,#P0400,#P0401 Bitfields for keyboard controller read status (MCA): Bit(s) Description (Table P0399) 7 parity error on transmission from keyboard 6 general timeout 5 mouse output buffer full 4 keyboard interface inhibited by keyboard lock 3 =1 data written to input register is command (PORTIBM PC Portable (uses same BIOS as XT) 0064h) =0 data written to input register is data (PORTIBM PC Portable (uses same BIOS as XT) 0060h) 2 system flag status: 0=power up or reset 1=selftest OK 1 input buffer full (60/64 has data for 804x) no write access allowed until bit clears 0 output buffer full (output 60 has data for system) bit is cleared after read access SeeAlso: #P0398,#P0400,#P0401 Bitfields for keyboard controller read status (Compaq): Bit(s) Description (Table P0400) 7 parity error detected (11-bit format only). If an error is detected, a Resend command is sent to the keyboard once only, as an attempt to recover. 6 receive timeout. transmission didn't finish in 2mS. 5 transmission timeout error bit 5,6,7 cause 1 0 0 No clock 1 1 0 Clock OK, no response 1 0 1 Clock OK, parity error 4 =0 security lock engaged 3 =1 data in OUTPUT register is command =0 data in OUTPUT register is data 2 system flag status: 0=power up or reset 1=soft reset 1 input buffer full (60/64 has data for 804x) no write access allowed until bit clears 0 output buffer full (PORTIBM PC Portable (uses same BIOS as XT) 0060h has data for system) bit is cleared after read access SeeAlso: #P0398,#P0399,#P0401 (Table P0401) Values for keyboard controller commands (data goes to PORTIBM PC Portable (uses same BIOS as XT) 0060h): Value Description 20h read read byte zero of internal RAM(Random Access Memory) See also DRAM, SRAM., this is the last KB command sent to the 8041/8042 Compaq put current command byte on PORTIBM PC Portable (uses same BIOS as XT) 0060h (see #P0403,#P0404) 21-3F read reads the byte specified in the lower 5 bits of the command in the 804x's internal RAM(Random Access Memory) See also DRAM, SRAM. (see #P0407) 60-7F double writes the data byte to the address specified in the 5 lower bits of the command 60h Compaq Load new command (60 to [64], command to [60]) (see #P0404) (also general AT-class machines) A0h AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. get ASCIZA NUL-terminated ASCII string. The ASCIZ string "ABC" consists of the four bytes 41h, 42h, 43h, and 00h. Unless otherwise specified, maximum lengths given in the interrupt list do not include the terminating NUL. copyright message on PORTIBM PC Portable (uses same BIOS as XT) 0060h A1h AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. get controller version byte on PORTIBM PC Portable (uses same BIOS as XT) 0060h A1h Compaq unknown speedfunction ?? A1h C&T CHIPS extensions (see #P0402) A2h Compaq unknown speedfunction ?? A2h AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. set keyboard controller pins 22 and 23 low A2h C&T turn on turbo LED A3h Compaq Enable system speed control A3h AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. set keyboard controller pins 22 and 23 high A3h C&T turn off turbo LED A4h MCA check if password installed returns PORTIBM PC Portable (uses same BIOS as XT) 0060h code F1h if no password, FAh if installed A4h Compaq Toggle speed A4h AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. set internal system speed flag to low A5h MCA load password write successive scan codes to PORTIBM PC Portable (uses same BIOS as XT) 0060h, terminate with 00h A5h AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. set internal system speed flag to high A5h Compaq Special read. the 8042 places the real values of port 2 except for bits 4 and 5 wich are given a new definition in the output buffer. No output buffer full is generated. if bit 5 = 0, a 9-bit keyboard is in use if bit 5 = 1, an 11-bit keyboard is in use if bit 4 = 0, output-buff-full interrupt disabled if bit 4 = 1, output-buffer-full interrupt enabled A6h MCA check password A6h AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. get internal system speed flag on PORTIBM PC Portable (uses same BIOS as XT) 0060h A6h Compaq unknown speedfunction ?? A7h MCA disable mouse port A7h AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. set internal flag indicating bad write cache A8h MCA enable mouse port A8h AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. set internal flag indicating good write cache A9h MCA test mouse port, return test result on PORTIBM PC Portable (uses same BIOS as XT) 0060h (see #P0406) A9h AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. get internal flag indicating cache OK to PORTIBM PC Portable (uses same BIOS as XT) 0060h AAh sngl initiate self-test. will return 55h to data port if self-test successful, FCh if failed AAh Compaq initializes ports 1 and 2, disables the keyboard and clears the buffer pointers. It then places 55h in the output buffer. ABh sngl initiate interface test, return result value on PORTIBM PC Portable (uses same BIOS as XT) 0060h (see #P0406) ACh read diagnostic dump. the contents of the 804x RAM(Random Access Memory) See also DRAM, SRAM., output port, input port, status word are sent to PORTIBM PC Portable (uses same BIOS as XT) 0060h in scan-code format; Chips&Technologies 8042's append "CHIPS Vxxx" where "xxx" is the controller version number ADh sngl disable keyboard (sets bit 4 of commmand byte) ADh Vectra HP Vectra diagnostic dump AEh sngl enable keyboard (resets bit 4 of commmand byte) AFh AWARD Enhanced Command: read keyboard version AFh AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. set extended controller RAM(Random Access Memory) See also DRAM, SRAM. write address to PORTIBM PC Portable (uses same BIOS as XT) 0060h, wait for controller ready, then write value to PORTIBM PC Portable (uses same BIOS as XT) 0060h B1h AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. set keyboard controller P11 line low B2h AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. set keyboard controller P12 line low B3h AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. set keyboard controller P13 line low B4h AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. set keyboard controller P22 line low B5h AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. set keyboard controller P23 line low B8h AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. set keyboard controller P10 line high B9h AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. set keyboard controller P11 line high BAh AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. set keyboard controller P12 line high BBh AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. set keyboard controller P13 line high BCh AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. set keyboard controller P22 line high BDh AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. set keyboard controller P23 line high C0h read read input port and place on PORTIBM PC Portable (uses same BIOS as XT) 0060h bit 7 keyboard NOT locked bit 6 =0 first video is CGAColor Graphics Adapter(Color/Graphics Adapter) One of the two video display boards introduced together with the original IBMInternational Busiuness Machines PCIBM PC. See also HGC, MDA. =1 first video is MDA(Monochrome Display Adapter) A text-only video adapter introduced together with the original IBMInternational Busiuness Machines PCIBM PC. See also CGAColor Graphics Adapter, HGC. bit 5 =0 factory testmode =1 normal bit 4 =0 256KB RAM(Random Access Memory) See also DRAM, SRAM., 1=512KB bit 5,3-0 are used in Intel chipset 386sx machines with AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985./Phoenix BIOSes for BIOS(Basic Input/Output System) A set of standardized calls giving low-level access to the hardware. The BIOS is the lowest software layer above the actual hardware and serves to insulate programs (and operating systems) which use it from the details of accessing the hardware directly. specific hardware settings bit 2 (MCA) no keyboard power bit 1 (MCA) current mouse serial data input state bit 0 (MCA) current keyboard serial input state C0h Compaq places status of input port in output buffer. Use this command only when the output buffer is empty C1h MCA Enhanced Command: poll input port Low nibble, continuously place in PORTIBM PC Portable (uses same BIOS as XT) 0064h bits 7-4 until next command C2h MCA Enhanced Command: poll input port High nibble, continuously place in PORTIBM PC Portable (uses same BIOS as XT) 0064h bits 7-4 until next command C8h AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. unblock keyboard controller lines P22 and P23 C9h AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. block keyboard controller lines P22 and P23 CAh AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. read keyboard mode, return in 0060 bit 0 (bit clear if ISA(Industry-Standard Architecture) The expansion bus used by the IBMInternational Busiuness Machines PCIBM PC/ATIBM PC AT. See also EISA. mode, set if PS/2IBM PS/2, any model mode) CBh AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. set keyboard mode (write back mode byte returned by CAh, modifying only bit 0) CCh AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. ??? (used by AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985. BIOS(Basic Input/Output System) A set of standardized calls giving low-level access to the hardware. The BIOS is the lowest software layer above the actual hardware and serves to insulate programs (and operating systems) which use it from the details of accessing the hardware directly. v1.00.12.AX1T APM code) D0h read read output port and place on PORTIBM PC Portable (uses same BIOS as XT) 0060h (see #P0405) D0h Compaq places byte in output port in output buffer. Use this command only when the output buffer is empty D1h double write output port. The next byte written to PORTIBM PC Portable (uses same BIOS as XT) 0060h will be written to the 804x output port; the original IBMInternational Busiuness MachinesInternational Busiuness Machines) A hardware, software and other service technology company founded in 1911. ATIBM PC AT and many compatibles such as the OPTi 82C392 use bit 1 of the output port to control the A20(Address line 20) The 80286 and higher CPUs allow addresses in real mode to extend slightly beyond the one megabyte mark, which causes an incompatibility with some older programs which expect such addresses to wrap back to the beginning of the address space. For complete compatibility with the 8088, newer machines thus contain circuitry which permits the twenty-first address line (A20) to be disabled. The CPU then effectively has only twenty address lines in real mode, just as the 8088 does, and addresses which would extend beyond the one megabyte mark wrap to the beginning of the address space. See also High Memory Area, Real Mode. gate. Important: bit 0 (system reset) should always be set here, as the system may hang constantly; use pulse output port (FEh) instead. D1h Compaq the system speed bits are not set by this command use commands A1-A6 (!) for speed functions. D2h MCA Enhanced Command: write keyboard output buffer D3h MCA Enhanced Command: write pointing device out.buf. D4h MCA write to mouse/pointing device instead of to keyboard; this controller command must precede every PORTIBM PC Portable (uses same BIOS as XT) 0060h command directed to the mouse, otherwise it will be sent to the keyboard D4h AWARD Enhanced Command: write to auxiliary device DDh sngl disable address line A20(Address line 20) The 80286 and higher CPUs allow addresses in real mode to extend slightly beyond the one megabyte mark, which causes an incompatibility with some older programs which expect such addresses to wrap back to the beginning of the address space. For complete compatibility with the 8088, newer machines thus contain circuitry which permits the twenty-first address line (A20) to be disabled. The CPU then effectively has only twenty address lines in real mode, just as the 8088 does, and addresses which would extend beyond the one megabyte mark wrap to the beginning of the address space. See also High Memory Area, Real Mode. (HP Vectra only???) default in Real ModeOne of the operating modes of the 80286 and higher Intel processors, and the only operating mode of the 8088, 8086, 80186, and 80188 processors. In this mode, all addresses used by programs correspond directly to real physical addresses (thus the full name, Real Address Mode) and there are no CPU-imposed protections between programs. See also Protected Mode, Virtual-86 Mode. DFh sngl enable address line A20(Address line 20) The 80286 and higher CPUs allow addresses in real mode to extend slightly beyond the one megabyte mark, which causes an incompatibility with some older programs which expect such addresses to wrap back to the beginning of the address space. For complete compatibility with the 8088, newer machines thus contain circuitry which permits the twenty-first address line (A20) to be disabled. The CPU then effectively has only twenty address lines in real mode, just as the 8088 does, and addresses which would extend beyond the one megabyte mark wrap to the beginning of the address space. See also High Memory Area, Real Mode. (HP Vectra only???) E0h read read test inputs, and place in PORTIBM PC Portable (uses same BIOS as XT) 0060h bit0 = kbd clock, bit1 = kbd data Exxx AWARD Enhanced Command: active output port E5h GoldStar set turbo LED color to yellow (turbo off) E7h GoldStar set turbo LED color to yellow (turbo off) E8h GoldStar set turbo LED color to green (turbo on) EAh GoldStar set turbo LED color to green (turbo on) EDh double this is a two part command to control the state of the NumLock, CpasLock and ScrollLock LEDs The second byte contains the state to set LEDs. bit 7-3 reserved. should be set to 0. bit 2 = 0 Caps Lock LED off bit 1 = 0 Num Lock LED off bit 0 = 0 Scroll Lock LED off F0-FF sngl pulse output port low for 6 microseconds. bits 0-3 contain the mask for the bits to be pulsed. A bit is pulsed if its mask bit is zero bit0=system reset. Don't set to zero. Pulse only! Note: keyboard controllers are widely different from each other. You cannot generally exchange them between different machines. (Award) Derived from Award's Enhanced KB controller advertising sheet. (Compaq) Derived from the Compaq Deskpro 386 Tech. Ref. Guide. (Table P0402) Values for Chips&Technologies extension commands: 00h return ID - returns A6h for a C&T controller, part # N93N8042/A 02h write input port next data byte to PORTIBM PC Portable (uses same BIOS as XT) 0060h is written to the controller's input port Warning: the system must be designed to support output devices connected to the input port to avoid potential damage 04h select turbo switch input next byte selects input: bit 7: switch polarity (=0 input low = high speed, =1 input low = low speed) bits 6-0: one bit set selects corresponding bit in Port1 as turbo 05h select turbo LED output next byte selects output: bit 7: LED polarity (=0 output low=LED on, =1 output low=LED off) bit 6: LED port (=0 Port1, =1 Port2) bits 5-0: one bit set selects corresponding bit in Port1/Port2 as LED output Note: these commands and any arguments are sent to PORTIBM PC Portable (uses same BIOS as XT) 0060h after writing command A1h to PORTIBM PC Portable (uses same BIOS as XT) 0064h SeeAlso: #P0401 Bitfields for Compaq keyboard command byte: Bit(s) Description (Table P0403) 7 reserved 6 =1 convert KB codes to 8086 scan codes 5 =0 use 11-bit codes, 1=use 8086 codes 4 =0 enable keyboard, 1=disable keyboard 3 ignore security lock state 2 this bit goes into bit2 status reg. 1 reserved (0) 0 generate interrupt (IRQ1) when output buffer full SeeAlso: #P0404 Bitfields for keyboard command byte (alternate description): Bit(s) Description (Table P0404) 7 reserved (0) 6 IBMInternational Busiuness MachinesInternational Busiuness Machines) A hardware, software and other service technology company founded in 1911. PCIBM PC compatibility mode 5 IBMInternational Busiuness MachinesInternational Busiuness Machines) A hardware, software and other service technology company founded in 1911. PCIBM PC mode no parity, no stop bits, no translation (PS/2IBM PS/2, any model) force mouse clock low 4 disable keyboard (clock) 3 (ATIBM PC AT) inhibit override -- ignore keyboard lock switch (PS/2IBM PS/2, any model) reserved 2 system flag 1 (ATIBM PC AT) reserved (0) (PS/2IBM PS/2, any model) enable mouse output buffer full interrupt (IRQ12) 0 enable output buffer full interrupt (IRQ1) SeeAlso: #P0403,#P0405 Bitfields for keyboard controller output port: Bit(s) Description (Table P0405) 7 keyboard data (output) 6 keyboard clock (output) 5 (ATIBM PC AT) =0 input buffer empty (MCA) outptu buffer full with mouse byte (connected to IRQ12) 4 output buffer full with keyboard byte (connected to IRQ1) 3 (MCA) mouse data (output) 2 (MCA) mouse clock (output) used by Intel 386sx Chipset with AMIAmerican Megatrends, Inc.(American Megatrends, Inc.) A hardware, software and firmware company founded in 1985./Phoenix BIOSes for BIOS-specific configuration of turbo switch 1 gate address A20(Address line 20) The 80286 and higher CPUs allow addresses in real mode to extend slightly beyond the one megabyte mark, which causes an incompatibility with some older programs which expect such addresses to wrap back to the beginning of the address space. For complete compatibility with the 8088, newer machines thus contain circuitry which permits the twenty-first address line (A20) to be disabled. The CPU then effectively has only twenty address lines in real mode, just as the 8088 does, and addresses which would extend beyond the one megabyte mark wrap to the beginning of the address space. See also High Memory Area, Real Mode. 0 system reset Note: bit 0 (system reset) should always be set when writing the output port, as the system may hang constantly; use pulse output port (command FEh) instead. SeeAlso: #P0404 (Table P0406) Values for keyboard/mouse test result on PORTIBM PC Portable (uses same BIOS as XT) 0060h: 00h no error 01h keyboard clock line stuck low 02h keyboard clock line stuck high 03h keyboard data line is stuck low 04h keyboard data line stuck high 05h (Compaq only) diagnostic feature SeeAlso: #P0401 (Table P0407) Values for keyboard controller RAM(Random Access Memory) See also DRAM, SRAM. location: 00h command byte (see #P0403,#P0404) ---MCA systems--- 13h security on nonzero if password enabled 14h security off nonzero if password matched 16h password discard scancode 1 17h password discard scancode 2 Note: make codes matching either discard scancode are ignored during password entry