[vbox-dev] Problem in 8042

Felix Kaiser confused at theanykey.de
Wed Sep 24 18:00:07 GMT 2008


Sorry, I don't have any technical specification about the 8042 IC. I 
only know about this issue, but I don't know the exact timings for 
providing the data bytes and removing them from the 8042 SRAM buffer. 
Invoking the interrupt handler or receiving EOI signal seems not to be 
the point for removing data from the buffer because the 8042 doesn't 
remove the data byte immediately after read even when polling the 8042 
without interrupts enabled.

Regards,
Felix Kaiser


Frank Mehnert schrieb:
> Felix,
>
> On Saturday 13 September 2008, Felix Kaiser wrote:
>   
>> 8042 hardware implementations provide the value at data port 0x60 after
>> read for a small time, so if the port is read again within that time,
>> the read value will be the same. The 8042 emulation provided by
>> VirtualBox clears that value too fast, seems to be cleared immediately
>> after read. Chained 8042 interrupt handlers (keyboard 1, mouse 12) may
>> read different values within one interrupt shot resulting in problems
>> especially with extended keys and handling key releases. Chained 8042
>> handlers are commonly used by DOS applications for handling special keys
>> and providing hot keys. Having both PS/2 mouse and keyboard may also
>> result in handling mouse data in the keyboard interrupt. The problem
>> could be solved by providing the value at the data port unless receiving
>> EOI if interrupts are enabled.
>>
>> At moment many DOS applications doesn't work correctly.
>>
>> Please let me know if you want to know something more.
>>     
>
> Sorry for the late answer and thanks for the hint. Do you have a pointer
> for the 8042 specification?
>
> Kind regards,
>
> Frank
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> vbox-dev mailing list
> vbox-dev at virtualbox.org
> http://vbox.innotek.de/mailman/listinfo/vbox-dev
>   





More information about the vbox-dev mailing list