Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
reading more from the FAQ might have told you that not reading a byte from port 0x60 on keyboard IRQ will keep the keyboard controller "waiting" for room in the buffer, therefore not raising further IRQs for further keystrokes.
Keyboard programming? Keyboard will send the same scan code as long as you will not disable keyboard controller via PPI(61h port) controller. So you must disable and reenable keyboard controller to receive other scan codes ;] .
xsix wrote:
Keyboard programming? Keyboard will send the same scan code as long as you will not disable keyboard controller via PPI(61h port) controller. So you must disable and reenable keyboard controller to receive other scan codes ;] .
PPI? port 61h? Disabel & enable keyboard? You should rewrite your keyboard driver! There is no need to do all those things. When you get interrupt, check kbd status to see if someting available at data port, if it is read the data.
xsix wrote:
Keyboard programming? Keyboard will send the same scan code as long as you will not disable keyboard controller via PPI(61h port) controller. So you must disable and reenable keyboard controller to receive other scan codes ;] .
There are situation where it's normal for the keyboard to send the same scancode several times, for instance when "typematic rate" is set so.
Moreover, I/O port 0x60 is a buffer: it won't change by the simple fact you read it, and especially, it won't turn to 0 as you read it. so if you read port 0x60 several time regardless of interrupts, you will get the same value until some other byte has arrived, but there's no reason i can see that could make you want to do this !
xsix wrote:Nah, disable+enable is good . That's all what i can say...
The 8048 chip became obsolete 20 years ago....
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.