🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: rec.games.programmer
Article #1882

Re: PC keyboard interrupt (source repost)

#1882
From: Steven C. Dollins
Date: Wed, 27 Jan 1993 14:43
134 lines
8428 bytes
For those who missed my previous source code posting or those who do
not have ftp access and asked me to mail them the source without
giving me a functioning return email address (hi, Paul,) the new
uuencoded zip of the source code follows.

In article <SCD.93Jan25211223@nevar.cs.brown.edu> scd@cs.brown.edu (Steven C. Dollins) writes:

   Sorry, folks.  The keyboard interrupt I posted was zipped with our
   system's UNIX zip which requires pkunzip 1.93a or unzip 5.0 to open.
   You have my apologies if this caused you problems.

   I have put a new zip file, created with pkzip 1.1, on the NCSA ftp
   site, ftp.ncsa.uiuc.edu, in outgoing/sdollins/keyint.zip.  This is the
   80386 assembly source for the keyboard and timer interrupts C library
   used in xspace.zip (in the same directory) and in its successor, the
   networked version, nspace13.zip (available on wuarchive.wustl.edu in
   mirrors/msdos-games/Misc.)

   The interrupt requires a 386 because I used some bit manipulation
   opcodes in the keyboard interrupt ... and 'cause I don't feel that
   16-bit machines are worth supporting anymore.

					- Steven Dollins
Brown Computer Graphics Group		scd@cs.brown.edu
--
A girl and a boy bump into each other -- surely an accident.
A girl and a boy bump and her handkerchief drops -- surely another accident.
But when a girl gives a boy a dead squid -- *_that _had _to _mean _something*.
			   -- S. Morganstern, "The Silent Gondoliers"

begin 644 keyint.zip
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
M  H          0 @         $M%64E.5"Y!4TU02P$""P *    !@"N*S@:
M9P $0:\#  "3"@  "          ! "    #!!0  2T5924Y4+DA02P$""P *
M    !@"9*S@:N77L(34'  #6#@  "0         ! "    "6"0  2T591$5-
93RY#4$L%!@     #  , I0   /(0        
 
end
Technical Details
Message-ID: <SCD.93Jan27094327@isabeau.cs.brown.edu>
Path: arc1-ca.pugleaf.net!sparky!uunet!brunix!doorknob!scd
References: <1993Jan21.082235.505680@zeus.calpoly.edu> <SCD.93Jan21175136@nevar.cs.brown.edu> <SCD.93Jan25211223@nevar.cs.brown.edu>

Show Full Headers
Complete Article Headers
Newsgroups: rec.games.programmer
Path: arc1-ca.pugleaf.net!sparky!uunet!brunix!doorknob!scd
From: scd@cs.brown.edu (Steven C. Dollins)
Subject: Re: PC keyboard interrupt (source repost)
In-Reply-To: scd@cs.brown.edu's message of Tue, 26 Jan 1993 02:12:23 GMT
Message-ID: <SCD.93Jan27094327@isabeau.cs.brown.edu>
Sender: news@cs.brown.edu
Organization: Dept. of Computer Science, Brown University
References: <1993Jan21.082235.505680@zeus.calpoly.edu>
 <SCD.93Jan21175136@nevar.cs.brown.edu>
 <SCD.93Jan25211223@nevar.cs.brown.edu>
Date: Wed, 27 Jan 1993 14:43:27 GMT
Lines: 135