cramer@optilink.UUCP (Clayton Cramer) (03/24/90)
In trying to disable the ^C echo (but not the ^C interrupt), I have run into something rather interesting and irritating: putting hooks into INT 16 (the software interrupt for requesting characters from the keyboard) doesn't allow me to suppress the ^C echo, because INT 9 (the keyboard hardware interrupt) is redirected by DOS from the BIOS to an ISR in DOS. This ISR treats ^C, ^S, ^Q, and ScrollLock "special", which means that ^C doesn't even make it into the keyboard input queue that INT 16 gets characters from. It appears from trying to read the code in the DOS INT 9 ISR that control goes somewhere else in DOS, which apparently does the ^C\r\n echo to the screen at the current cursor position. I know that it is possible to shut off this echo without disabling ^C interrupt -- Turbo C uses ^C as a command character. Does anyone know a way to do this that doesn't involve trying to trace forward from the INT 9 ISR vector address, and stomping on the compare to the scan code? -- Clayton E. Cramer {pyramid,pixar,tekbspa}!optilink!cramer No matter what other nations may say about the United States, immigration is still the sincerest form of flattery. Disclaimer? You must be kidding! No company would hold opinions like mine!