Top Document: comp.os.msdos.programmer FAQ part 2/5 Previous Document: Next Document: See reader questions & answers on this topic! - Help others by sharing your knowledge Date: 5 Feb 2002 22:03:03 -0400 Ralf Brown's Interrupt List <Q:02.03> [What and where is Ralf Brown's interrupt list?] includes MEMORY.LST, a detailed breakdown by Robin Walker of the contents of the BIOS system block that starts at 0040:0000. Bit 4 of byte 0040:0096 is "1=enhanced keyboard installed". Here is a C code example to test the keyboard type: char far *kbd_stat_byte3 = (char far *)0x00400096UL; if (0x10 & *kbd_stat_byte3) { /* 101- or 102- keyboard is installed */ } else { /* Not installed */ } PC Magazine 15 Jan 1991 (x: 1) suggests on page 412 that "for some clones [the above test] is not foolproof". If you use this method in your program you should provide the user some way to override this test, or at least some way to tell your program to assume a non-enhanced keyboard. The article suggests a different approach to determining the type of keyboard. User Contributions:Top Document: comp.os.msdos.programmer FAQ part 2/5 Previous Document: Next Document: Part1 - Part2 - Part3 - Part4 - Part5 - Single Page [ Usenet FAQs | Web FAQs | Documents | RFC Index ] Send corrections/additions to the FAQ Maintainer: jeffrey@carlyle.org (Jeffrey Carlyle)
Last Update March 27 2014 @ 02:11 PM
|
Comment about this article, ask questions, or add new information about this topic: