User:Johnburger/Demo/Boot/Key

From OSDev Wiki
Jump to navigation Jump to search

The keyboard doesn't need much setting up - the BIOS defaults are pretty good to my way of thinking. On real hardware, it would be nice to speed up the keyboard's repeat rate to be more responsive; and there's a BIOS function for that. Better call it before leaving Real Mode...

Unfortunately, this code doesn't work well under VMware. To the end I've commented it out.

Demo/Boot/Key.inc

;
; Boot/Key.inc
;

; Use the BIOS to speed up the keyboard to as fast as it will go

Key.SetRate     EQU             (BIOS.Key.SetRate.Fn << 8) | BIOS.Key.SetRate.Set
Key.Rate        EQU             (BIOS.Key.SetRate.Delay.250 << 8) | BIOS.Key.SetRate.Rate.300

Boot.Key:
; The following doesn't work as intended under VMWare
;               MOV             AX,Key.SetRate
;               MOV             BX,Key.Rate
;               INT             BIOS.Key.Int