forrest@ga.ecn.purdue.edu (Dave Forrest) (04/11/88)
Hello! This group is new to me, so please forgive mistakes. My problem is this: I am doing a project which requires me to use the IRQ interrupts and I am working on an HP Vectra. I can get the interrupt installed and it runs, but when the interrupt terminates, it locks the keyboard up. So I'm left sitting in DOS with no keyboard. What am I missing? Any help would be appreciated, I'm a bit new to this. Dave Forrest
everett@hpcvlx.HP.COM (Everett Kaser) (04/12/88)
I assume (and we all know what that makes out of 'u' and 'me', huh?) that you're taking over interrupt 9, the keyboard hardware interrupt. I'm also assuming that you're saving the old interrupt vector and restoring it before you return to DOS (unless you're a terminate-stay-resident, of course). You see, there are many questions about your situation that makes an answer difficult. However, here is the skeleton of an ISR that I've used that might help. ; int9isr: push ax push bx push cx push dx push si push di push bp push ds push es in al,60h ; get keyboard data byte ; ; at this point test the scan code in AL for a value that you want, or do ; whatever with it that you do. ; then, ; in al,61h ; reset keyboard mov ah,al or al,80h out 61h,al xchg ah,al out 61h,al mov al,20h ; send End-Of-Interrupt command to out 20h,al ; the interrupt controller pop es pop ds pop bp pop di pop si pop dx pop cx pop bx pop ax iret ; ; I hope that this helps. Everett Kaser !hplabs!hp-pcd!everett
jack@csccat.UUCP (Jack Hudler) (04/13/88)
In article <358@ga.ecn.purdue.edu> forrest@ga.ecn.purdue.edu (Dave Forrest) writes: > I am doing a project which requires me to use the IRQ interrupts >and I am working on an HP Vectra. I can get the interrupt installed and >it runs, but when the interrupt terminates, it locks the keyboard up. You didn't say what interrupt you were using.. I assume it's has to do with the keyboard interrupt, are you just hooking into the interrupt or are you attempting to service it your self and forget the other guys down the line. With out knowing more I would say you are not issuing the Non-specific Interrupt Clear to the 8059 but that about all I can say. Be more specific about what you are tring to do here.. Interrupts on the PC machines are screwed up at best (for those of you that don't think so, try messing with the EGA interrupt). Jack Hudler -- See above (214)661-8960