aboutsummaryrefslogtreecommitdiff
path: root/int33.h
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2022-12-31 15:24:54 +0100
committerJavier <dev.git@javispedro.com>2022-12-31 15:26:56 +0100
commitea30df89b6fa62874b82cd75e6cf81a089ee2d25 (patch)
tree50ba771aef093b849411fcb2cee5f90dcc668597 /int33.h
parent831d16b852dc13a9f5ff7a1b56302f94ed193565 (diff)
downloadvbados-ea30df89b6fa62874b82cd75e6cf81a089ee2d25.tar.gz
vbados-ea30df89b6fa62874b82cd75e6cf81a089ee2d25.zip
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.
Diffstat (limited to 'int33.h')
-rw-r--r--int33.h22
1 files changed, 22 insertions, 0 deletions
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" \