Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- BIOS ref. - <b>int 16h, 10h extended keyboard read many</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
Int 16h, 10h            Extended Keyboard Read                           many

    Returns the next character in the keyboard buffer; if no character
    is available, this service waits until one is available. This
    service is provided to support the enhanced (101/102-key)
    keyboard.

        Entry   AH = 10h

        Return  AL = ASCII character code
                AH = Scan code

    ------------------------------------------------------------------

    This service is supported only on the AT dated 11/15/85 and after,
    PC XT dated 1/10/86 and after, and XT-286.

    The scan codes are the numbers representing the location of the
    key on the keyboard. As new keys have been added and the keyboard
    layout rearranged, this numbering scheme has not been consistent
    with its original purpose.

    If the character is a special character, AL will be 0 and the
    value in AH will be the extended scan code for the key. See the
    list of scan codes.

    Use the scan codes to differentiate between keys representing the
    same ASCII code, such as the plus key across the top of the
    keyboard and the gray plus key.

    After the character has been removed from the keyboard buffer, the
    keyboard buffer start pointer (at 0040h:001Ah) is increased by 2.
    If the start pointer is beyond the end of the buffer, the start
    pointer is reset to the start of the keyboard buffer.

    If no character is available at the keyboard, an Int 15h, Service
    90h (Device Busy), will be issued for the keyboard, informing the
    operating system that there is a keyboard loop taking place and
    thereby allowing the operating system to perform another task.

    After every character is typed, an Int 15h, Service 91h (Interrupt
    Complete), is issued. This allows the operating system to switch
    back to a task that is waiting for a character at the keyboard.

    See Service 00h for an equivalent service that works with all
    keyboards, not supporting the new keys on the enhanced
    (101/102-key) keyboard.

See Also: Int 16h, 00h Int 16h, 05h

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson