www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/09/09/05:14:51

Date: Mon, 9 Sep 1996 01:57:10 -0700 (PDT)
From: Samuel Vincent <svincent AT cs DOT sonoma DOT edu>
To: "John M. Aldrich" <fighteer AT cs DOT com>
cc: djgpp AT delorie DOT com
Subject: Re: CWSDPMI V3 - what's new versus V2?
In-Reply-To: <3232578D.4859@cs.com>
Message-ID: <Pine.GSO.3.94.960909014354.10067A-100000@zippy>
MIME-Version: 1.0

On Sat, 7 Sep 1996, John M. Aldrich wrote:

> Ian D Romanick wrote:
> > 
> > This may actually be a problem with Quake.  I sent them a bug report
> > that it does just this when I run 386MAX.  To which they responded, "If
> > it crashes when you do that, then don't do that!"  Nothing quite like
> > quality software...
> 
> I sent them a bug report about incompatibilities between Quake's keyboard
> driver and TSR DOS screen saver utilities, and got back a similar response.
> For those who are interested, it seems that Quake's keyboard handler does
> not chain, so any screen saver which detects keyboard activity will be
> fooled into thinking that nothing is happening, and will merrily blank out
> the screen (or whatever) once its time expires.  Since the keyboard doesn't
> chain, there's also no way to get it back!  I did discover, however, that
> using the mouse will restore the screen.  This problem occurred with the
> AD-DOS.COM screen saver (actually, screen blanker) utility.
> 
> Apparently, id isn't particularly interested in fixing incompatibility
> problems with its software; they just tell you "not to do it."  What's
> really ironic about this is that from magazine ratings and some feedback
> that I have heard myself, Quake isn't even that revolutionary a game.
> Sure, it's cool, and the graphics are great, but they didn't exactly
> break whole acres of new ground.  Well, it's their software and what they
> do with it is their business.  :)  I'm not sure if it's worth buying the
> full version of Quake though.
> 
> John

Well..  I would have to say that there is nothing that can be done about a
screen saver that relies only on getting keystrokes from the keyboard
interrupt.  Quake cannot (and should not) chain to the next interrupt.  
1) This would slow the game down by an indeterminable rate, switching to
real mode, calling the old interrupt, (who knows what incredibly slow
process lies in this new chain of interrupt code), switching back to
protected mode..  Just to make it possible to run a screen saver over
Quake?  (Can't you make a batch file for quake that disables the screen
saver, runs quake, then reenables the screen saver?) Why slow it down for
the rest of us?

2) Imagine even the best case: Only the standard bios and dos keyboard
handlers are present.  You hold down your arrow keys to move about (this
_is_ what you want to screen saver to see right?  That you arent sitting
still?) After bios/dos reads in 16 keys in the input buffer, the speaker
starts beeping every time you hit a key until you quit Quake, at which
time those 16 keys are spewed out at the dos command line.  (Let's not get
into how dangerous it is to allow random keystrokes to be interpretted as
dos commands.)  If the sheer annoyance of your computer constantly beeping
as you hold down a directional key doesn't get you, the speed decrease of
a system-wide pause of 1/4 second or so each time the beep sounds would
make the game all but unplayable.

There are only 2 possibilities.  Pass the key and fill the 16 character
buffer, causing beeping and unplayability along with a random commandline
upon quitting the game.  Or do not pass the key, and cause tsr's that have
hooked the keyboard interrupt to miss those keys while the game is
running.

Personally, I choose number 2.

-Sam


- Raw text -


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