Article View: rec.games.programmer
Article #1882Re: PC keyboard interrupt (source repost)
From: Steven C. Dollins
Date: Wed, 27 Jan 1993 14:43
Date: Wed, 27 Jan 1993 14:43
134 lines
8428 bytes
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
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,.S&#TL$.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
Technical Details
Message-ID:
<SCD.93Jan27094327@isabeau.cs.brown.edu>Path:
arc1-ca.pugleaf.net!sparky!uunet!brunix!doorknob!scdReferences:
<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