Date: Mon, 22 Aug 94 08:08:47 cst From: jsherril AT redstone-emh2 DOT army DOT mil To: djgpp AT sun DOT soe DOT clarkson DOT edu Subject: HW Interrupts (1.08 vs. 1.12) I have a program which reprogrammed the timer to have an accurate benchmark timer. This program worked under djgpp 1.08. I have now upgraded to 1.12 and it doesn't work. [Although I was very happy to see gmake in 1.12 :-).] I know lots of things have changed in go32 which contribute to the problem. I have identified and (I hope) corrected the following: + base of vector numbers corresponding to IRQs is now variable and can be obtained from go32. + selectors have changed. The problem I get is an exception when I attempt to install the new entry in the IDT. I suspect that I do not know which selector is the correct one for the physical addresses used by the instruction which reads the IDTR. I am not replacing the whole IDT only a single entry. So I guess I have the following questions: 1. Which selector is the correct one to access the IDT? 2. Should I really be using a go32 call to install it? 3. Is there an example of another protected mode ISR? 4. Should I also have a real-mode version of the ISR installed? I tried to help someone install an ISR with the Watcom compiler and they kept mentioning "bi-modal interrupt handlers." Any help would be greatly appreciated. Joel Sherrill