Slow down cursor speed

This commit is contained in:
Juhani Krekelä 2023-02-06 18:02:21 +02:00
parent 0692c75eab
commit 2805ae856b
1 changed files with 16 additions and 25 deletions

View File

@ -71,43 +71,33 @@ initialize_screen:
rep stosw rep stosw
; Disable text cursor ; Disable text cursor
mov dx, 0x3d4 mov ah, 0x01
mov al, 0xa mov ch, 0x20
out dx, al int 0x10
inc dx
mov al, 0x20
out dx, al
xor ax, ax
call flip_mouse_cursor call flip_mouse_cursor
mainloop: mainloop:
mov bx, [mouse_x] mov bx, [mouse_x]
shr bx, 1
mov cx, [mouse_y] mov cx, [mouse_y]
cmp [mouse_x_old], bx shr cx, 1
shr cx, 1
cmp [mouse_column], bl
jne .update_cursor jne .update_cursor
cmp [mouse_y_old], cx cmp [mouse_row], cl
jne .update_cursor jne .update_cursor
hlt hlt
jmp mainloop jmp mainloop
.update_cursor: .update_cursor:
mov ah, [mouse_x_old]
mov al, [mouse_y_old]
call flip_mouse_cursor call flip_mouse_cursor
mov ah, [mouse_x] mov [mouse_column], bl
mov al, [mouse_y] mov [mouse_row], cl
call flip_mouse_cursor call flip_mouse_cursor
mov [mouse_x_old], bx
mov [mouse_y_old], cx
jmp mainloop jmp mainloop
; in:
; ah = column
; al = row
flip_mouse_cursor: flip_mouse_cursor:
push ax push ax
push bx push bx
@ -119,10 +109,11 @@ flip_mouse_cursor:
; Column ; Column
xor bh, bh xor bh, bh
mov bl, ah mov bl, [mouse_column]
shl bx, 1 shl bx, 1
; Row ; Row
mov al, [mouse_row]
mov cl, COLUMNS*2 mov cl, COLUMNS*2
mul cl mul cl
add bx, ax add bx, ax
@ -146,8 +137,8 @@ Y_NEGATIVE equ 0x20
X_NEGATIVE equ 0x10 X_NEGATIVE equ 0x10
BUTTONS equ 0x03 BUTTONS equ 0x03
X_MAX_VALUE equ COLUMNS-1 X_MAX_VALUE equ 2*COLUMNS-1
Y_MAX_VALUE equ ROWS-1 Y_MAX_VALUE equ 4*ROWS-1
mouse_handler: mouse_handler:
push ax push ax
@ -254,7 +245,7 @@ mouse_x resw 1
mouse_y resw 1 mouse_y resw 1
mouse_buttons resb 1 mouse_buttons resb 1
mouse_x_old resw 1 mouse_column resb 1
mouse_y_old resw 1 mouse_row resw 1
_bss_end: _bss_end: