From ea30df89b6fa62874b82cd75e6cf81a089ee2d25 Mon Sep 17 00:00:00 2001 From: Javier Date: Sat, 31 Dec 2022 15:24:54 +0100 Subject: restore int33 callback+window when windows goes foreground Even though it should not be necessary, this should help some cases where mouse control is lost when returning from a fullscreen DOS box. --- int33.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'int33.h') diff --git a/int33.h b/int33.h index ebe9476..03c61a0 100644 --- a/int33.h +++ b/int33.h @@ -227,6 +227,28 @@ static void int33_set_mouse_speed(int16_t x, int16_t y); __parm [cx] [dx] \ __modify [ax] +static uint16_t int33_get_mouse_status_size(void); +#pragma aux int33_get_mouse_status_size = \ + "mov bx, 0" \ + "mov ax, 0x15" \ + "int 0x33" \ + __value [bx] \ + __modify [ax] + +static void int33_save_mouse_status(uint16_t size, void __far * buffer); +#pragma aux int33_save_mouse_status = \ + "mov ax, 0x16" \ + "int 0x33" \ + __parm [bx] [es dx] \ + __modify [ax] + +static void int33_load_mouse_status(uint16_t size, void __far * buffer); +#pragma aux int33_load_mouse_status = \ + "mov ax, 0x17" \ + "int 0x33" \ + __parm [bx] [es dx] \ + __modify [ax] + static void int33_set_sensitivity(uint16_t sens_x, uint16_t sens_y, uint16_t double_speed_threshold); #pragma aux int33_set_sensitivity = \ "mov ax, 0x1A" \ -- cgit v1.2.3