projects
/
ld45_start_nothing
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sortof bounds-check while moving
[ld45_start_nothing]
/
src
/
keyb.asm
diff --git
a/src/keyb.asm
b/src/keyb.asm
index
d9fdd4e
..
b953474
100644
(file)
--- a/
src/keyb.asm
+++ b/
src/keyb.asm
@@
-41,15
+41,11
@@
kbintr:
and bl, 07fh
add ebx, keystate
and bl, 07fh
add ebx, keystate
- ; determine if it's a press or release
- test al, 80h
- jz .press
- ; key release
- mov byte [ebx], 0
- jmp .eoi
-.press: ; key press
- mov byte [ebx], 1
-
+ ; determine if it's a press or release (high bit set on release)
+ rol al, 1
+ and al, 1
+ xor al, 1
+ mov byte [ebx], al
.eoi:
cli
end_of_irq KB_IRQ
.eoi:
cli
end_of_irq KB_IRQ