Category: vendor-specific BIOS extensions
INT 6F - HP Vectra EX-BIOS - "F_ISR" (internal) - RESPOND TO LOGICAL ISR AH = 00h BP = ID for driver (see #03741) DH = data type (see #03742) DL = physical device driver's index (driver ID / 6) BX,CX = data ES:0000h -> physical device's Describe Record (see #03749) ---keypress event data--- BH = keyboard state (only if bit 5 of DH set) (see #03743) BL = scancode (if bit 4 of DH clear) CX = number of scancodes in list (if bit 4 of DH set) ES:SI -> scancode list (if bit 4 of DH set) ---motion event data--- BX = new X position (abs device) or X increment (relative device) CX = new Y position (abs device) or Y increment (relative device) ---button event data BL = button information bits 15-8 reserved bit 7: button state (0 = down, 1 = up) bits 6-0: button number (0-7) BH = reserved Return: AH = status (see #03744) BP,DS destroyed ---if device is keyboard translator--- BL = translated scancode BH = new keyboard state (if DH bit 5 set) (see #03743) DH = new scancode type (see #03742) Notes: INT 6F corresponds to IRQ23 on the original HP Vectra AT, which is unavailable because of its use as a BIOS extension software interrupt the INT 6F handler consists of an instruction to load DS with the driver's data segment followed by an indexed far jump using BP to select the destination vector; since the interrupt handler is located immediately following the dispatch table, the HP_VECTOR_TABLE may be found by looking at offset 0000h in the INT 6F segment, and its size is equal to the offset of the interrupt handler each entry in the HP_VECTOR table consists of a DWORD for the driver's entry point address and a WORD for the driver's data segment this function is not user-callable, as it is a response to a physical event, and assumes that the caller has already handled the physical interrupt and updated the Describe Record (see #03749) to reflect the event SeeAlso: INT 6C"HP Vectra",INT 6F/AX=0200h"HP Vectra"