Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!bloom-beacon!mit-eddie!uw-beaver!cornell!rochester!pt.cs.cmu.edu!b.gp.cs.cmu.edu!Ralf.Brown@B.GP.CS.CMU.EDU
From: Ralf.Brown@B.GP.CS.CMU.EDU
Newsgroups: comp.sys.ibm.pc
Subject: Re: Decency on the net.
Message-ID: <22c78b7a@ralf>
Date: 28 Jun 88 12:05:14 GMT
Sender: netnews@pt.cs.cmu.edu
Lines: 58
In-Reply-To: <46157AHS@PSUVM>

In article <46157AHS@PSUVM>, AHS@PSUVM.BITNET writes:
}        Int 9 (the keyboard interrupt):
}
}        Int 9 is not described in Ray Duncan's Advanced DOS.  He only
}        discourages such programing and says to those who must ignore his
}        advice to go and study the assembly code for the keyboard handler in
}        the IBM tech ref manual.
}
}        Int 9 is not described in Ralf Brown's superb and super-extensive
}        documentation of practically all interrupts.  His only entry is:
}
}            Last edited 1/30/88
}            -----------------------------------------------------------
}            INT 09 - MATH UNIT PROTECTION FAULT (80286 protected-mode internal)
}            -----------------------------------------------------------

Actually, it is mentioned, but slightly hidden:

INT 08 thru 0F - VECTORED HARDWARE LINES
   In IBM, these 8 interrupts are generated in response to IRQ 0 through
   IRQ 7 (if enabled via port 21h).
                                           [Tandy 1000]       [Adapters]
     IRQ0 - timer interrupt
     IRQ1 - keyboard interrupt
     ^^^^ this is INT 9

}
}        Not a word on the keyboard (I am *not* blaming Ralf -- I am *too*
}        grateful to him for having done this compilation.  I am just saying
}        that Int 9 is undocumented and information on Int 9 is hard to come
}        by -- which increases the chance of programming bugs).

The problem with INT 9 is that in order to do anything useful, you have to
munge with the hardware.  If your machine has even the slightest 
incompatibility in this area hardware-wise, you will have even more problems.
And each of IBM's three different "standard" keyboards has a slightly 
different interface....

}                A final note:  I have both separately and by private mail
}                thanked Tom Almy for showing us how to use Int 15 to remap the
}                keyboard.

Unfortunately, the INT 15 call for remapping the keyboard is only available in 
recent BIOSes.  My 6/86 Award BIOS knows nothing about that hook.

INT 15 - OS HOOK - KEYBOARD INTERCEPT (AT model 3x9,XT2,XT286,CONV,PS)
        AH = 4Fh
        AL = scan code
        CF set
Return: AL = scan code
        CF set
Note: Called by INT 9 handler to translate scan codes

--
UUCP: {ucbvax,harvard}!cs.cmu.edu!ralf -=-=-=- Voice: (412) 268-3053 (school)
ARPA: ralf@cs.cmu.edu  BIT: ralf%cs.cmu.edu@CMUCCVMA  FIDO: Ralf Brown 1:129/31
Disclaimer? I     |
claimed something?|            Insert your favorite quote here