Browse Prior Art Database

IBM PC/PC-AT Keyboard Emulation on the RT PC

IP.com Disclosure Number: IPCOM000038868D
Original Publication Date: 1987-Mar-01
Included in the Prior Art Database: 2005-Feb-01
Document File: 2 page(s) / 13K

Publishing Venue

IBM

Related People

Blackard, JW: AUTHOR [+3]

Abstract

A method is described which makes the keyboard interface provided by RT PC 80286 Coprocessor compatible with the PC/PC-AT 8042 keyboard interface. The RT PC keyboard device is accessed as a shared device between virtual terminals and the 80286 Coprocessor. The interface provided by the RT PC is incompatible with the keyboard and its 8042 Keyboard Controller interface which resides on the PC/PC-AT. Scan code data is reformatted and 8042 commands are emulated. The virtual terminal support in the Virtual Resource Manager (VRM), for supporting shared devices for the 80286 Coprocessor card, has PC-AT keyboard and 8042 keyboard controller emulation code which provides a PC/PC AT keyboard interface to keyboard interrupt handlers running on the coprocessor.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 1 of 2

IBM PC/PC-AT Keyboard Emulation on the RT PC

A method is described which makes the keyboard interface provided by RT PC 80286 Coprocessor compatible with the PC/PC-AT 8042 keyboard interface. The RT PC keyboard device is accessed as a shared device between virtual terminals and the 80286 Coprocessor. The interface provided by the RT PC is incompatible with the keyboard and its 8042 Keyboard Controller interface which resides on the PC/PC-AT. Scan code data is reformatted and 8042 commands are emulated. The virtual terminal support in the Virtual Resource Manager (VRM), for supporting shared devices for the 80286 Coprocessor card, has PC- AT keyboard and 8042 keyboard controller emulation code which provides a PC/PC AT keyboard interface to keyboard interrupt handlers running on the coprocessor. This simulated keyboard interface performs scan code translations, maintains a 16-character FIFO buffer, supports buffer overrun, and supports many of the keyboard commands. The VRM keyboard device driver passes data describing the depressed keys, such as the scan code, key position, make/break status, etc. In an effort to support different keyboards, the coprocessor virtual terminal only uses the key layout position value instead of the scan code which could change. This key position is an index into a scan code translation table, indexed also by emulated keyboard type (i.e., PC or PC-AT), which contains entries for PC scan codes and PC AT scan codes. If the key is being released, the resulting PC or PC-AT scan code is then tagged as a break scan code in the fashion determined by whether the PC or PC-AT is being emulated. There are certain keys which do not translate directly, such as PRINT SCREEN. To simulate the PRINT SCREEN depressed on a PC keyboard, the terminal code will pass to the coprocessor a SHIFT make scan code and an asterisk (*) make scan code. The make/break status (describes if the key is being pressed or released) of all shift state keys is maintained to prevent extra shift scan codes from...