function getkey() as byte
dim keymask as byte
dim key as byte
dim index as byte
keymask = 0xef
For index = 0 To 3
PORTB = keymask
WaitUs 100
key = PORTB And 0xf
If key = 0xf Then key = 0
If key = 0xe Then key = 1
If key = 0xd Then key = 2
If key = 0xb Then key = 3
If key = 0x7 Then key = 4
If key > 0 Then
key = key + (index * 4)
Gosub beep
getkey = LookUp(0, 6, 7, 8, 9, 5, 11, 12, 10, 1, 2, 3, 4), key
Goto finkey
Endif
keymask = ShiftLeft(keymask, 1)
Next index
getkey = 0
finkey:
end function