www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/03/04/11:40:08

Date: Sun, 5 Mar 1995 01:07:05 +1000 (+1000)
From: Matthew Lamari <Matthew DOT Lamari AT jcu DOT edu DOT au>
Subject: Interrupt Handling Issues. ???
To: djgpp AT sun DOT soe DOT clarkson DOT edu

Greetings to others with an interest in the DJGPP package.

   Over the Christmas break, I made some progress in a programming 
project I had been planning for some time, on DJGPP version 1.12m2.  To 
anyone reading this list who is wondering whether or not this would be 
suitable for a gaming or other speed-dependant application, I have to say 
I have found the package to produce a quicker and more versatile program 
than the strict 16-bit Dos alternative, even where excessive graphical 
work is required (as in my case.)  And the optimizations that the compiler 
can make can produce code almost as fast as hand-code assembly.

   However, a minor concern I have pertains to the way interrupts are 
handled within the package.  I must state here that I was unable to read 
the mailing list between november last year and the present date, and 
understand that the situation may have changed with the new release, or 
the issue already discussed on this list.  If the latter is the case, I 
hope that it may be explained again for my benefit.  I thank you in advance.

   By the way, in my project as it stands, the program supports DPMI, and 
I hope to continue to support this mode.  I understand from last year's 
list that in the new distribution this is a requirement.

   In 1.12m2, there was some Sound-Blaster code that was bugged, and 
crashed occasionally.  I gave this a 'temporary' fix by removing the 
real-mode interrupts, and hoped to incorporate the code making use of the 
now protected-mode-only interrupts.  The same went for my keyboard 
routines, which, to date, are also protected-mode only.  Yet now, with 
further understanding of how GO32 etc. works, I understand that the CPU 
also spends some time in REAL mode for certain situations, which would 
effectively render the Protected mode vector useless for the duration.

   Yet in discussion on the list, it was explained that if a "real" mode 
interrupt was called (I forget the exact contributor of this) while a 
page-fault-caused disk-access, the program would crash.  If this is true, 
more versatile and imperative interrupt handling would be impossible.  I 
have also noticed, from time to time (as a result of only using Protected 
mode interrupts) that keys occasionally "stick" in the down position, when
the interrupt is caused in real mode, and my own code doesn't trap this.  
Can anyone recommend a solution for either or both of my keyboard and 
SoundBlaster dilemma?  Does the user merely have to pray that a 
page-fault doesn't occur when the (necessary) real-mode interrupt is 
called, or is there a remedy?


   I thank you for your time.


Matthew C. Lamari, Townsville.


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019