VirtualBox

Ticket #5964 (new defect)

Opened 4 years ago

Last modified 4 years ago

BIOS keyboard intercept interrupt (int 15/4F) broken

Reported by: Dunfield Owned by:
Priority: minor Component: other
Version: VirtualBox 3.1.2 Keywords: BIOS Keyboard Intercept
Cc: Guest type: other
Host type: Mac OS X

Description

Host: Mac OS X 10.6.2 VirtualBox 3.1.2 r56127 running MS-DOS 5.0

BIOS "keyboard intercept" interrupt INT 15h/4Fh ignores replacement scancode.

Needed an "Insert" key - no way to get it on MacBook, so I wrote a small TSR to remap F12 to Ins using INT 15h, AH=4Fh "keyboard intercept" didn't work under VirtualBox (worked fine on real machines & VMware), I could see the correct scancodes coming into the interrupt, but repaced scancode returned in AL was ignored. A bit of disassembly showed that there appears to be a PUSHA / POPA around the INT 15h/4Fh keyboard intercept call within VirtualBox BIOS (call is at F000:E997) causing the replaced scancode in AL to be lost.

I modified my TSR to recognize when it's loaded under VirtualBox and patch the stacked AL register - so I have a workaround, however this should be fixed (and it should be an easy fix).

Dave

Change History

comment:1 Changed 4 years ago by poetzsch

Hi Dave, thanks for the report. This seems indeed to be a bug. As you proposed a solution it would be nice to share your finding with us, cause this would save us some time. A patch released under the MIT license is the preferred way. Thx.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use