Mail Archives: djgpp/1994/08/22/10:51:51
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
- Raw text -