home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: rec.games.programmer
- Path: 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
-
- 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
- M4$L#! H & *@K.!JQL*XQF04 #P5 * 2T5924Y4+D%330T" 1(C
- M%!4V-VB)FML\!082$T3%]I;W739]2K0H4Y!LP\H]6[:A0I<S<=HH7L=/-"C5
- M(,@3)(C@&FY=L6S3CCG>7]>6S6N$?9^=H[V44^(E63''M<R:-I9W7;@@4<),
- M\9\(SJ+W6[9DT[JEF_/K6[-FYY:E8_]WLJOGTFW9.][C/$&]S[8M@[S.4\]'
- MGC#/8PYY!N,,R7NAQT>T:4C[@@NZ5BO-?.98&\S;*=6G;L6[=DE'N-Y?@F
- M_+LNW3+*?<F4>RC:L&Z6U&3 O/QJ+YHLF>,:AO:EK^VAG;RC':--:0>_QG:,
- M=H2B57WPJB:T([0%_>M8.>,[+=VA;^LXN<O*\=YSVIESL1\?$Z<,[KQ&=XH[
- MKZ&]VRQM]R'9WSB$[:0-J&UW/R1RACQWMFP1'"60["#MODVS5T^]&Q9NDML?
- MA7/E.=^Q/?PI[G1*D&7QCFFSZ;'IHH%2VS&KZ;XYNZ)J$)(#KT.Q$901C%OW
- M2S]<\UB_MUI.9I7N-MTP;:KG;4;[DSJE"C(G6A=LH0L$&])6C$]3SL1SN6_
- M+WB;#2OG/G8N&L+U.<VP;=_:.>YA\;($2C:,4)4=ROMFP;WD@PUS9DV8.=%<
- M%VCN(YNQ)Q/91Y^POD/5,=PS^FQXY;[IUI7K!DI9=*I.H5C6@75&.+0AC2?V
- MR/:"\!5874&4T17RE%Q581%= 9'J2UF-6HG5<^> E43 :J)8KL:_A0MBBJ#$
- M!<^R[!RD91C!J=TU\&L:PG^8)FN68HJ I \SG<N9<S N3+XF"V?0E6Z@"UB!
- M\+L<0UTI<M[%OHF=D@K7\BHQ=4H7E(XLM4R4RKZ>.R;2&\2K-!G;G&QW&^E6
- MC X#B4MR!;G-II%UD7W#2#,CQV3#731O*MZ/-NT9/K;8/*RXJ5?R(H^S'VCN
- M.;G>:=^@VLT8XRR.D7"R$+G</6.RZ/.6=9CEW1,&-,GV[9UGL#$*M;"WFZ:A
- MA!\R8;<=:S/N"Q&K;TF&/M+Z2"?)A"KJ8(I,])2A@FBV,-.YF.F07!4%4%N3
- MSQA>>29NSWV&2@L\<?Y!F;)8/J'J[F:3)S']2,9!.;O&S320YTAFAN%_N'GH
- MIY#1P-G\G_GG:.@W&_H(J+4JQ-%A#SJ38.1;.4%)MBQQ!(4XY@B7(SM4?'R=
- M1]4V8]!#W#&0;=8AAO'I8MQO&KE%7#($)$)ZWS*F1IP#ZY-JC&\Y)>]%GR8)
- M:\Z@S!_6T*$F44E(43,V'29,F#?-("(Y)\V=%DZ^M7G.=NA(_HG>-QO_/(8D
- M(K:MR^8Q&B[;/&L:_[[[)HA,ZY8+XA8P8X3[3F,;U&%VF-TB650W6M=IZ8P&
- MHQCB:<ABZ1@.';/&TXAO'*$%6S/2#:^)8W7&SL.JEA7N7+NYS%"]#:'J[BTT
- MBE[15J^,V86(1JQ%)HG68LLHZS.;QD4@@U<[1LTL=&N>M=PF8SA=9BX0WRU[
- M@GF#*!^5!>EI\+OX:4]+),H&=2G*G@8+&5OP"+4Q-5/WMUKAW;ZT%:\NR3:<
- M6@;IQ& 2CRO<#//V&FNQ@$;S]<><2.9D6L?, =YTMBM(T\4H8]-P;!,E&(Z-
- M5D PMF,9 %,9!D3=IV& U4&3.BXH. X#H()5AT%/^)"QG/@PJ RU]F' RKX/
- M@T9@(P%B0 ("+L2@ +["A!C4QER$B %P3Z9,")7(K$H!O(K<3@SEBR/(Q7
- M%Z'=8(0=G&[3?"\&+HJ#,8PCH!#@HC@"P$ (J("7J\G,S&*%0WGYU2V55>\U
- ML0,IO*(X\P43'[B@D&'GC%J5QQV;E,HGG<S+XS%AB&S\&9$-!^3B.0BYLV4@
- MQ"FC:S#^CJY[BGO[&J$+/>8\',1&0@\2/UT#/32C@*$UM&2(+&L4!?P:1@'1
- MR%1<HP*0(=$K,0&W27O;6G6C*@;@!0PP#HO(=2+Y"L $4$L#! H & *XK
- M.!IG 1!KP, ),* ( 2T5924Y4+D@- @$2(Q05-C=HB9K;/ 4&$A-$
- MQ?:6]T>F->N6;%FS()<6S9K4*=4OPWLHTZI$BQ)MJ'!$]:=U6P8[E.#]4D7U
- M+IL7!'@]%Z3*%^W)M46G#@4)(CB7@1W_U&D1["0-['BJ5Y]@)VU@QR*56F0^
- MC0,[WNC3JE*N\Y@PL&.36H%/Q^"'G9H4BS@Z!C_LU"+QVPEVQ@];-.E1I%2P
- M,WY8ITF0(F7PPVHM*@4I6@8_;)/X774*=L8/6S1JU:!,L#-^6*%!ARZ="H5X
- MH4L9_+!4@PHYBI[!#QM%2 3VXH>]@AW##PD[AA]&2Q3VX(>$'4^#'S8+=@P_
- M;!7L&'[8)-@Q_#"*QV$O?E@HV/$U^&&9?A4J)<T*^_AAI6#'Y(7DV%V$+%Z#
- M'W8H52E.9-B+'S8(/[P-?A@K,.STL$.X8?U@AV##_L$>P8?E@DV/$W^&&5
- M8,?PPR[!CN&'Z8K"'OPPAE6DTT.?,GVB6'F#'R9T^BF5U',<_#"B$]PY#GZ8
- M)_94I$F-K%[CX(>A;&<:=,I3B8,?5DO5>!S\,+-!!.\<_#"BBL->_+!6L&/X
- M(6''\,/P.L-N_+!-KA.C6OR0GS9M&@0[XX>%4KF=]"D1[()4D>H2V$TUD=9,
- M8"]^V".YW%FV5ZN7Z3Q&*".]6A4&'2.4$:&L-L,^?MBA0:'\ZZ=#EV W?EBC
- M,< B0AG9J SL1"@C&YV!'<</:Y0&=EQK(]? CN.'; ,[CA_R#>Q$*",;Q8$=
- MQP\Y!W8</Z0\%W9B#LA5FT198!\_S,XM0*LULU!&1C*'*BP>(Y01+H6,$<I(
- M3NRC1;]TUS%"&4D+)O%UC%!&9EK4",RC0ADIOFD<'2.4$48N&2.4D>([5"8U
- M+V.$,I(N%Z;0,4(9F>C3*P:;X(<YRKKK&*&,%%316DNE$E_PPY#T2JIF3<8(
- MY8@BTNS2,3 %"7O-+AWSQGPOBY=N6;EN08Y%&U:.]V)I;91MV+-SM\I@JKON
- MV$[;?9N6+,BI=\/"3>J6;DX4SG4*[^#&'/(=%YYF^];M69!NJ:8=NW:.?>+I
- MI@O2+!OJR>+XIY8=0[[)),\:RLDFX[O.^I(/(Y$_I.V*UF7&?ZR<XIV6[M"W
- M==V _XXA8ZG Y*:3_BBHBJ;+K4:I$H57? 7RITRAGH!7Z9%![E$/#[)'__IR
- MIHRYLT]]<BC;,M+K/JX^Z##J8Z587>V0ZD.*CK@R9HK_&/U/.A=*73W'6),9
- MQK2"B_\42?8R12H:5TY5@8L-AY#@+,<U4$L#! H & )DK.!JY=>PA-0<
- M -8. ) 2T591$5-3RY##0(!$B,4%38W:(F:VSP%!A(31,7VEO=?JFRH
- M('A319MV+@CA#PMR;MBV<-F6!3D$>;^M*W<,\A[[E@SQ-IM&^NFB#4L7!/-N
- M^];M7+IRE'>9]HWV[9WJ_19DW3G<LTRQ7ELVK]BW8>62,=9NAC?=M&W+R@4I
- MIU@A;S?KU]^V=YGVP;VD5_P$>89=:3_6N7##I!O]"6NG9>DT=Q=5J^K--JT8
- M=BTWC_V<,]_9-.\SQ;O-T:O^-EV?C3O+UG'KII4S?D+U3)PV07!OD#2,5S$J
- M:PI?X=URY=:%2P?^SBITGR,]8>9T"1*DTS?:FR7(.^R;C%3M9GGE57&7V4]+
- M9WH4*_?B^=1/6KYET\Q![&\T>8ZQVHY;'QN6+=LR?REYJ]YPHMY;@=>$E7@-
- M!\KE%ZN:%EO7K!GM6]+%^'L98B6^[Z"K:RTVSWG;J^M(K^1=%B\=8HUFVZ;<
- M;L]DB7+Z2:(X^DV&;V]#]^G@'4<NXRW&CG]KQH^5=Y^=T[WIWOG69K!<PVI]
- M;57\8GL=C9"5%.%4MSBZQKV%WU)$,/.VTA?^=:]@!:0F$_B3 9L9W7>6S%D$
- M3;E1CRG<(E;:%W;!'],!3[(@5EQF:]R;PKGP$CM_.?>D"+HJZC!64-,LY!3(
- MZ\D3JMGFP?IEX JI,@V=<$6<\]=U4_JG$>R*OO,&M- >Z O,'69>'&N4299
- M%$&*&7K:0,KN:>D\V9#1*6*7S0V%*:NG\M[@8^^*LKKB[X9I_?+0<-XW&2Y$
- M]BI69Z<9OGM,&:IY05WH.D^?<62^$3N/,]K-X%\G\67;.V^U:URNU]<9'W9.
- M92@LM)S3F./8;E)4;#?F5J1%H\@$WN/.CKVFTV58.-C[C?!.<X1HI] 1V,L+
- MPSN:I1TU]9WE*09[IV%ZC&9KCC=:58;D8.VQ-ZVZSN6IW 5+\H;GD7ER!S&U
- MU.4$R@JC[KRO:HQ";F00<4-AFAI6<+P=\\IIDV)(O5V?%/:\PWC1.%OBX9PM
- M5:GI9D'L8\&JJU*E =;,]9PBT4&=9KV*M*C4(J&,D95^4W1E;58NS*UTLQ>O
- MF&ZPI%0/AFNJ^?9GV[3I7FV:=4L]1O>;("G$FI" !?OX!--^-DZFY&Q$X$6G
- M#C$V\H'D/D,^H,3J:3J5#4Y=@><I[7/?G (#([Y-\:9CFHS,%!'COZV)"+90
- M?-DPYE37JA=ZU3F6:[H2A:Q H;L]@;[1_-%T:W)7PM\JUR/-7?55[TVH:O@?
- MNZ9=H+-CQ:1%-?X;N/&*/3>/G^+M;I.J# PMEX[AL-K_#,WK-G-^D#T]Z<LG
- MH^YC\N\QFDT<=KQ\WHK<<A!-P$)<[2W\,CWJT&/#&"6KNKG%T6:[09RSD=)N
- M 267L+RF4SS7U!U/5B2KTQ2Q*GYH++&K3. @^9_TFI9BZ]*I7,7E,E]>#IIO
- M2H_H^I@9QA7SS<-_FRKY4S=EV?-H7 8YEHVG@9F:A>MS;)DY$9D48K8_E\Q[
- M&V05L-GJB"%6Q3X:S&1O]9Q:F; *:"\#<CX&3":]6,Y4C1TOA[UB]7/4%BQ<
- MG0O7/\W>RU)\K63:EG?;.6&TQXAK#<?G$:D;5CT)H:69>>MLQILZ3:/-HG$6
- M,S4,9K+ 3XE\6[.H4RV=<R#;6+7=1!IO UIYQXD5RD'Y7RE[]TODA-AQ99MT
- MRC"G)J)E)0B#-*0-_XE\ CS(/-@C5/9UF5ZSB*[;F,[#@)18Y3K6=G+*WN@J
- M7Q2/X#W"B6OU>M)%0'Y[NDNT(JRGW3=CJIOE*$$HMX+[/<(+7E%,"_ME>\)D
- M0>DRQKG#?3MWA_W8"16^CV3Z,LKS(/ENW!R0'<,[3V6)-1D9;:F:JMND2=$O
- MIY7_F%-5>1WW>E1YLM5P"O\Y%-'*%4A_O&GJOEO0QN#%V/T4]I_2E@:C@S
- MZSE1IMSQ'!MS"'23;GKZ'N4B^-P-8Z71&(.JK%6;U%62!:^&IPO!,,;VLG/I
- MQ!R=EHXQ%GPYD\@PESM'I^&ZCO$J8Q\E%?]?LJZHU&OH/65*D'N&X9HD07KM
- M"3+FCNOX(7Z\'/KDCKSE%$ 4.H?#6(?M0Q9A#R$2[AY,$Q+$/+AO=S)C7T:M
- M:?N8H&,5J9PH!GVH8P-O%K-$M?J!)281: V"IJL(WD@:>&XRME<DM2L&-0[@
- M&DNFW.1W"KA@?<]%0\P$2VTHY<L*9YDPG,57.\M::F@1U*I0Q SSV;ER!9BQ
- M4@!.N">H",:+Q>PYCCU-(+ V@][TC2IOU5O-)G^NB\TFN.NB<FA.,.8R;:]L
- MJN!MX)_,7B&]R9*Q\N&L^KQA[)^(_;XSC8UTF5:.B+*G^1Q@P$O,((CKWF^Z
- M&]90ET@T^R"WH9?':?IR/33E<XH< 1S%O=, \ML8HO*E\MR) 6EBUD$?XK3-
- MIDCUR% Y%^_).;WF-J);#W6R>&6>G+,U9F!J%&YJ*B4G>Q1VP\#C^W1GUEGU
- M^G7>)SX/4=MA:52J(2@J#&,Z4$L! @L "@ 8 J"LX&K&PKC&9!0 /!4
- 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
-
-