нужно написать две процедуры на асм
для чтения и записи (отправка команд типа $FF и других)
команды будут из 2-6 байт (нужна проверка на переполнение I/O буфера)
слышал все можно сделать через 60h порт
Asm работа с клавиатурой под DOS
kadet89 писал(а):Не врубился в этот алгоритм...но думаю моно попробовать через бинарник изменить саму команду...только вот в каком файле она?
типо так:
al после 64h всегда 28
вовремя чтения через 60h у меня начинает трещать внутрений динамик (как при залипании клавиш)
Код: Выделить всё
Procedure SendByte(X:byte); Assembler;
asm {Send Byte to KeyBoard}
@WaitLoop:
XOR ax,ax
in al, 64h
and al, 01b
jnz @WaitLoop
mov al,[X]
out 60h,al
end;
procedure ReadByte(var x:word); Assembler; {DOS only}
asm
mov bx,word ptr x+2
mov es,bx
mov bx,word ptr x
@WaitLoop:
XOR ax,ax
in al, 64h
and al, 10b
jz @WaitLoop
in al, 60h
mov word ptr es:[bx],ax;
end;
вовремя чтения через 60h у меня начинает трещать внутрений динамик (как при залипании клавиш)
kadet89 писал(а):Не врубился в этот алгоритм...но думаю моно попробовать через бинарник изменить саму команду...только вот в каком файле она?