MOOOOOUUUSSEEEE
This commit is contained in:
parent
dba4644ee7
commit
7a9a8f282a
60
main.asm
60
main.asm
|
@ -29,18 +29,58 @@ main:
|
|||
|
||||
lp:
|
||||
|
||||
; mov cx, 0
|
||||
; mov al, 0
|
||||
; mov dx, 320
|
||||
; mov bl, 200
|
||||
; mov bh, 0
|
||||
call update_mouse
|
||||
|
||||
;call gfx_rect
|
||||
jmp lp
|
||||
|
||||
jmp $ ; Halt
|
||||
|
||||
update_mouse:
|
||||
cli
|
||||
mov bx, [mouseX]
|
||||
mov ax, [mouseY]
|
||||
sti
|
||||
mov cx, [lastMouseX]
|
||||
mov dx, [lastMouseY]
|
||||
|
||||
push bx
|
||||
push ax
|
||||
xor bx, cx
|
||||
jnz .update
|
||||
xor ax, dx
|
||||
jnz .update
|
||||
|
||||
pop ax
|
||||
pop bx
|
||||
ret
|
||||
.update:
|
||||
pop ax
|
||||
pop bx
|
||||
call clear_last_mouse
|
||||
call render_mouse
|
||||
|
||||
mov [lastMouseX], bx
|
||||
mov [lastMouseY], ax
|
||||
ret
|
||||
|
||||
; cx = lastMouseX
|
||||
; dx = lastMouseY
|
||||
clear_last_mouse:
|
||||
pusha
|
||||
|
||||
mov al, dl
|
||||
mov dx, 11
|
||||
mov bl, 18
|
||||
mov bh, 0
|
||||
call gfx_rect
|
||||
|
||||
popa
|
||||
ret
|
||||
|
||||
; bx = mouseX
|
||||
; ax = mouseY
|
||||
render_mouse:
|
||||
pusha
|
||||
|
||||
mov dx, 0
|
||||
mov cx, 320
|
||||
|
@ -53,9 +93,8 @@ main:
|
|||
mov bl, 18
|
||||
call _gfx_blit0
|
||||
|
||||
jmp lp
|
||||
|
||||
jmp $ ; Halt
|
||||
popa
|
||||
ret
|
||||
|
||||
; Libs
|
||||
%include "print_util.asm"
|
||||
|
@ -69,4 +108,7 @@ HELLO_WORLD:
|
|||
No:
|
||||
db 'No.', 0
|
||||
|
||||
lastMouseX: dw 0
|
||||
lastMouseY: dw 0
|
||||
|
||||
%include "gfx/gfxd_cursor.asm"
|
|
@ -186,9 +186,9 @@ mouse_callback:
|
|||
mov ax, 0
|
||||
.x0:
|
||||
|
||||
test bx, 0x8000
|
||||
test dx, 0x8000
|
||||
jz .y0
|
||||
mov bx, 0
|
||||
mov dx, 0
|
||||
.y0:
|
||||
|
||||
cmp ax, 320
|
||||
|
@ -196,9 +196,9 @@ mouse_callback:
|
|||
mov ax, 320
|
||||
.x1:
|
||||
|
||||
cmp bx, 200
|
||||
cmp dx, 200
|
||||
jle .y1
|
||||
mov bx, 200
|
||||
mov dx, 200
|
||||
.y1:
|
||||
|
||||
; Status
|
||||
|
|
Loading…
Reference in a new issue