From: John Tsiombikas Date: Sun, 13 Oct 2019 15:10:06 +0000 (+0300) Subject: input sortof-works X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=ld45_start_nothing;a=commitdiff_plain;h=3ec4a3e6d73d15500e48c87f31f2193603e94d56 input sortof-works --- diff --git a/src/keyb.inc b/src/keyb.inc index c022e43..6ecb5d9 100644 --- a/src/keyb.inc +++ b/src/keyb.inc @@ -2,3 +2,18 @@ extern kb_init extern keystate + +SC_ESC equ 1 +SC_W equ 17 +SC_ENTER equ 28 +SC_A equ 30 +SC_S equ 31 +SC_D equ 32 +SC_SPACE equ 57 + + ; carry set if key is pressed +%macro check_key 1 + mov ebx, keystate + %1 + mov al, [ebx] + add al, 0xff +%endmacro diff --git a/src/main.asm b/src/main.asm index ce5e5ad..c3ab902 100644 --- a/src/main.asm +++ b/src/main.asm @@ -26,8 +26,12 @@ main_loop: call clear push dword 0 - push dword [ship_y] - push dword [ship_x] + mov eax, [ship_y] + shr eax, 8 + push eax + mov eax, [ship_x] + shr eax, 8 + push eax push dword FRAMEBUF_ADDR call sprsheet add esp, 16 @@ -37,9 +41,22 @@ main_loop: jmp main_loop update: + check_key SC_W + jnc .not_w + dec dword [ship_y] +.not_w: check_key SC_S + jnc .not_s + inc dword [ship_y] +.not_s: check_key SC_A + jnc .not_a + dec dword [ship_x] +.not_a: check_key SC_D + jnc .not_d + inc dword [ship_x] +.not_d: ret section .data align 4 -ship_x: dd 160 -ship_y: dd 100 +ship_x: dd 160 << 8 +ship_y: dd 100 << 8