/*
 * kbhit — 1, если в буфере клавиатуры есть символ, иначе 0.
 * ESTEX CTRLKEY ($33) подглядывает, не забирая символ из буфера.
 */

#include "_conio.h"

// TODO - проверить - ф-ии 30h-33h (kbhit/getch/getche/getkey)
//   не должны менять IX и им можно не делать push ix / pop ix
char kbhit(void) __naked
{
    __asm
        push  ix
        ld    c, #0x33              ; ESTEX CTRLKEY — подглядывает без изъятия
        rst   #0x10
        pop   ix
        ;; A=0 → клавиши нет; ненулевой → есть.
        or    a, a
        ret   z
        ld    a, #0x01
        ret
    __endasm;
}
