INT 16h Function 10h not working under WIN95

INT 16h Function 10h not working under WIN95

Post by Norman Dresne » Sun, 03 May 1998 04:00:00



In a DOS shell from WIN95, I ran a program that uses the "Enhanced
Keyboard" functions in ROM BIOS
        int 16h  Function 11h   "Check for enhanced keystroke"
and
        int 16h Function 10h    "Get enhanced keystroke"

which differ from the function 01h and 00h in that they will get ALL of the
keys on an "enhanced" (i.e. 101-key, etc) keyboard like F11, F12, and the
separate arrow and movement keys.

WIN95 terminates this program at the INT16h call saying that it has
performed an illegal instruction.

I've checked Ralf Brown's latest interrupt list and there's nothing under
the specific functions that warns it doesn't work in a DOS shell in WIN95.

Has anyone had similar experiences?  
What's the best workaround, considering that these programs have to work in
plain DOS as well as in DOS shells under (at least) WIN3.1x and WIN95?

Norm D.

 
 
 

INT 16h Function 10h not working under WIN95

Post by Wouter Dijksl » Sun, 03 May 1998 04:00:00


Hello,



Quote:>In a DOS shell from WIN95, I ran a program that uses the "Enhanced
>Keyboard" functions in ROM BIOS
>    int 16h  Function 11h   "Check for enhanced keystroke"
>and
>    int 16h Function 10h    "Get enhanced keystroke"

>which differ from the function 01h and 00h in that they will get ALL of the
>keys on an "enhanced" (i.e. 101-key, etc) keyboard like F11, F12, and the
>separate arrow and movement keys.

>WIN95 terminates this program at the INT16h call saying that it has
>performed an illegal instruction.

I have just written a program just calling the interrupt, and
returning to dos. It worked fine. This suggest that there is something
else wrong with the program. If you are programming a protected mode
program for instance, you need to set up interrupt call-gates to real
mode.

Quote:

>I've checked Ralf Brown's latest interrupt list and there's nothing under
>the specific functions that warns it doesn't work in a DOS shell in WIN95.

Because it is not the interrupt which is wrong. If it is wrong on your
machine (try in DOS-mode), your bios is faulty.

Quote:

>Has anyone had similar experiences?  
>What's the best workaround, considering that these programs have to work in
>plain DOS as well as in DOS shells under (at least) WIN3.1x and WIN95?

>Norm D.

Greetings,
Wouter Dijkslag


 
 
 

INT 16h Function 10h not working under WIN95

Post by Norm Dresne » Mon, 04 May 1998 04:00:00


TODAY THE SAME PROGRAM WORKS!!!

Perhaps it's the inate perversity of WIN95, perhaps just a stray cosmic
ray!  (Who ever said we didn't need parity memory anyway?  Damn him!)
Today the same programs work.  Every one of them.

To be fair, I think I rebooted inbetween so the cosmic ray theory might be
plausable.

Thanks to all who replied.

Norm D.



Quote:> In a DOS shell from WIN95, I ran a program that uses the "Enhanced
> Keyboard" functions in ROM BIOS
>    int 16h  Function 11h   "Check for enhanced keystroke"
> and
>    int 16h Function 10h    "Get enhanced keystroke"

> which differ from the function 01h and 00h in that they will get ALL of
the
> keys on an "enhanced" (i.e. 101-key, etc) keyboard like F11, F12, and the
> separate arrow and movement keys.

> WIN95 terminates this program at the INT16h call saying that it has
> performed an illegal instruction.

> I've checked Ralf Brown's latest interrupt list and there's nothing under
> the specific functions that warns it doesn't work in a DOS shell in
WIN95.

> Has anyone had similar experiences?  
> What's the best workaround, considering that these programs have to work
in
> plain DOS as well as in DOS shells under (at least) WIN3.1x and WIN95?

> Norm D.

 
 
 

1. INT 16h, Function 12 (extended kb status) ?

How do I get the extended shift status information obtained from this
interrupt without having to actually call this bios routinue? I want to do
this as I'm already intercepting the keyboard handler INT 9, and i'd like
to avoid using bios calls whilst in the interrupt routine.

Vaggs

2. GET PAID TO GIVE AWAY FREE PAGERS!

3. Int 10H Function 13H - How Do I access BP from C ?

4. Things that make you go hmm...

5. synchronization in replication of mysql5.1.15

6. Extended VGA BIOS (INT 10h) functions

7. Querying screen mode with int 10h, function 0fh

8. Int 10h, AH=11h, AL=03h, why doesn't the character map select work?

9. Help with BIOS INT 10H function 13H

10. int 16h/func 00h

11. Problem in my INT 16H!!!