www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/03/18/06:00:57

Message-Id: <199603181055.FAA26717@delorie.com>
Date: Mon, 18 Mar 96 12:54:11 LIT
From: Martynas Kunigelis <martynas DOT kunigelis AT VM DOT KTU DOT LT>
Subject: mkkdb (v3?)
To: DJGPP mailing list <djgpp AT delorie DOT com>

 Well, well.. Here I am again, with my cursed _mkkbd_. On Saturday I
 found a KILLER bug: I was checking some variable after popping the
 original DS off the stack. What an asshole... Anyway, here's the
 final version (I *do* hope so). More bugs fixed + docs updated. Write
 me if it works, so I can ask DJ to upload it to SimTel.

 P.S.: for those who don't what's it all about, `mkkbd.zip' is a set
 of files illustrating keyboard interrupt handling under DJGPP 2.00.

 Regards,
 Martynas Kunigelis

BEGIN----------------------CUT HERE--------------------------
begin 644 mkkbd.zip
M4$L#!!0``@`(`%B1<B#?\@U\T`4``/T+```&````<F5A9&UE=5;;;M1($'T?
M:?ZA>$HB32R"]@+AA26L(.P"D8*T6JU6H6V7[29MM]7=GEGS]7NJ;$\F"3P@
M'(^KZM2I4Y=WEMZ\?WMU14/D$)_0.PY\%,E0;[E@\A45OF2RS AT TQ!9-L5U,[
MDNG[X$W14/+KU2V/N3>A)-LE#F'H$S6F*YU\.W0EASG$]EGV]&E&GQL;9Z^1
MJL"\,X'7*UC0Z`?"'V2<\SLNX9U*3[O&)-["C?SL["W3SJ:&;,KHDI+!WYVG
M]2IP['T7;6Z=32-5/I#I1G(^1L)S:5I3,Q4&F9:4CY06'!L\^J%NLO5JO?HP
M4NV-HYV)<)L$PB[8!$Q"434XVJ?K;!Y,&#>4#_I=;/R.Y)^08KN8D(8P&7SB
M(B%H*TDW,)6,'[+%80.LQ2WRFNG!V_6J-,ELJ+9;&"0R1<%(!\'@M0ZF1:WD
M"XI<M]REC1A1T1C;31_QUOHA AT ITYAM@57`Z!I1"\A):@["KRG1N1(/>($0S`
M0`!"OR0=M31`Y'>=LIM AT W_HI++"5GB?*4#(A7DQ2\"A//E05!Y$#K.)0-"A<
M AT B?P/_2"4PI[0/0"*DGDG1]<21'2B]4H7P;JF,NH/FR$<,JMC9-8&@.:!-:;
MJP^7%'LN;&4+F/H.1F92T*[ACF(:RE$0R=?"MA8?C(CZ\.\9;4VP)G?(22C]
MF:JA*\01".?"X1O1.WU9U)`U1^?B8NL=XCF6(H2]5FY:T_]S]NSYOR_I]!0.
M$2.84=C-1Z1<.5-'N"L5;%>O5T2"$^`FFN%G$KV82N_U``?#6.#%TDM2F*FJ
M7Q841^K)I!0L1,HJ"-0KTMN+"_)]LJW]AA!5\"V9&(<6P3<3[^RXU4\!$A`F
M1XIZZM"=&9??4)V609@;T$O1=H5J=8>AH7K0WHTL AT A[5C0(&/UT]5Z!5]M$0
M=X2IAF^$F(4RZ9=:P.+=YH"L>T2I_T4_:$C1CM\_"9I]<\CG)5=F<'=A[YI2
M'1TTRV4E.<G$<"S%WZB65'![8^EW:0P1J;33^00'KVI&X!3<:;&9_L\#FUM5
MEA1D>F=<.BW996KT@`[;V71\HE3(HS7.?IMT'?P`%H#PB@,BM5%A="R#`M-I
M AT A"3M+2$"YR&`!&C[![M+NVH(P6P3\_D166LDXQG%%MORX.J8)KRC`-$02X/
M0%PW`R23#B:+JO)1>?%P([\<RUM1\>1S07=&MGH@?)V!W93-0]5OR(L"=I@#
M]Q($GOVGA9>)+(+6=0,W*#XP/VKC'V0NLIDSCSSG^!VU9O0W="%1L2ZF\N\'
MA^XN2`%FQR<;NLT;*>I&\ZF.3XA3D:F:9ZDASO?!P.,!'%7D#P$=GV3T$4M)
M1KLZLYW(9*K;.&,5?9H<13SH!/$89"_B"^>B;C68/R[AB997T]8N*QK&YC@<
M?:*NH2]E8GT'(94V8$&ZD::UR:;4PP-1EPF]YW!>MGB%`0<%8D^/`K7U&$KL
M'-<H\6:Z)NX9ZM2ZJS@\ZSR"N:+_^.GS[^<BNNO&5MAGOV$H`/0%^O)N]^GF
MT_7QN!("8KT2S#(;7E]^NIX&(*Z,[E:@C&A">:'3LTKS.9-E=RZ AT 5B^5?[P8
M9^XD(?5\L)L2/?WOI[-?M;?EZ3F\,&N1X0 AT EOLFMCU*L/)2`J:->'%TL]XN.
MK)(3^CXJ%Y?SSE6YZJ`T4PK(W6.S3==<B<'E?"\[`J/`M.HFERVO=Q\6LVQZ
MZ5N,NK3<*[)@B+NM#;X3TXS^FI9-Y%D]OI/[+C99)N>=<1&RFQ`8I1-+C'WO
M%`PU['HYK":<'-/=5:>,3$>,UFV]:C'IK5CF0XWSX:W'&>AD]NG9Z1S.K.4&
MB3AKI'(UQ AT E^&>'1NR>9TO-:P AT 0(+9012OM AT 0AH[7(M_#)VMV<E)LEY=9=<9
MCE]4G-X/R.CLQ8M?]MW&IRW(%M1(?;'/]O:OMFUVFX;,I9?:<41_&M'+5YS@
M,[YY?4V5$&<"%:9)/)9?Z[Y_A4WB@^6L\.TY71XY-_O*54<ZX/\'4$L#!!0`
M`@`(`#5P<B`9)N=V-`,``*,,```*````:V5Y8F]A<F0N:(W7[T^;0!S'\>=-
M^C]<W!,UVZ0_;6/V@%)H:RD AT T#FW&(*%*AF[FI8ZC?%_']0"]_W0Q)F8&%YW
M![TW;?'LE$W#E[N5OP[8@\^#..+W;+GEBR1:\0U;KM9L>#FR+/;4_"I)G]G=
M"YOYZ^2%^QLVW?+H/HRC#6OT^UUV>E:OU6N?HB4/PB7SINK-P)3MH3?VTJ/I
MH8B'<'0W>C?86SS&VTWV6Z^%STFXYNQ(.6*OZ8B0!]$R&[L__K2*_22*0[9X
M\-?L]_[BO3_^XZ]&LW=[40R,>,+*GV)@.BWBWC+V[S\<&O$H.7Y:1<')A7#Z
M*#BT:KS:A#@VXG'VHO=3Z!6\CV6OARZ,?6.-"_;VT3III?]823JPTO[U%A/2
M/[Q@]9<?9[!9^#Q;;ATFVW1*=NR$;',VX':W:KUV=LJ4]$9)?)Z\WRWYR-TR
M7Q:K(-SD=\;^'G`4V?!41\GW4'J6&J"-<H=3;8(VB;9`6T3;H&VB'=`.T2YH
ME^@YZ#G1'FB/:!^T3]0'E8C>@<XFQMPI=('[?#67=2?7`'0@*U/'RC4$=>6!
M<-XEZ)5X50T)])HH]E6)8E^;*/9UB6+?&Z+8=TX4^TZ(8E^3*/:UB&)?739&
MNIHK]K6)8E_5<%6[6!G[*JZME^?%OC*Y*NSK$,6^0U&;V%<CBGU'1+'OF"CV
MO22*?:=$L:].%/LZBJF;1J[8]VINNG(Q%_O:):=:Z>N,)YJ;*_8=.+KLC'/%
MOC_)-6/?'T2QKT(4^WXGBGT'HK:PKT$4^\Z(8E_%G,FE8M^AZ0ISL6^Y59EB
M7UO<YQ;V'=GJC>>XLKU3["OKXGFQKV/)BEHH]E5DRRGG8E^M(>X&]M6:HF)?
MK24J]M7:HF)?K2,J]M6Z AT K8K[]]S4;&OUA,5^VI]45N5W9`$Q;[&?*:;RG2O
MG<H[U!84^X[-F5JNC'WGEGA5E<_G4>&I]@_=.>]?I*EB7UW5W'(N]K7D8?[<
MD"KVM2>CL5MH<.B\EIY]?Z<:5C[YA\(KJGP^F]=&H1VI\GJ'@F+?B>&H=OX^
MZF#?H:J7Y^U4^S8$/:]H4]!>]MPG/N7'Y6/^F_AL__X78^GCI/@OPN[)\1]0
M2P,$%``"``@`58]R(-?\C3NN!@``/Q(```H```!K97EB;V%R9"YSS5C;;MPV
M$'U6@/S#P*F1&+"5=9*ZR18HFJ9-$:3)0Y,"?5M0$G>7-B4*(K47?WW/D-3-
MWDW3/'4#;%:\#(<SYYP9F1X]?$"/Z+W<9T8T!:G*R:9I:T=K8VY4M2*Y$V6M
M9>K7?5Y+$JU;FX:4I<HX:J2M3655IB4M,2RJO5]9B%*L)+DUUN6FD/AJ=4&%
M(6=H;UK"6OS74-V86C9N[P_P6T>?#P(SE;#TOJW42FIES^GRU:NKIY=73V?/
M[ZZ6%Z50>CYL2_MM/V_*],:UJ7;AF"1)ETK+Y.0FWCRU)[T#<H<@5$);>F)J
MIPQ^GLW[?6&6%HM%<;VJZT4FK%R(HD`D[,$%A5T(K83M[==MIE5.R[;*V;I%
MT`JR^S(SV@[GK+3)A*9%Y^%"5<H=GLFUL?+(U%JHZO`4CC\^B1^+PFR/S):B
M_L)QBZ46JX</^!_6.,2#?_@'!&)54?*"Y[3)&6&+1JX0A85UR-J<)R;GS)/4
MUB*7E,QV+V?G-!O/#\?-O7EM AT -CD,IR]1EBU;!9`6"Z+MI'>>,Q!FM)6:4T9
MD"FTE AT 7)C6SVY%0)B!-.8(37G%19/&VDEDAS<1=QW0?C29)KQ4[4K5WKY%2*
MW?BIZ)^VR6DQ8.$/(PKZ]1.<<6MB/A3"";(X+W>FZ<&0[9V/P-45(K#+7B;)
M(RK-9DO?%6U9[L_IE(_K;EQ81&UKFB*9W7,5&_T64 AT ZG+-DZ&TI@`%9&GOTI
MX9D#X6TN*D_A96-*ZF)/M6F<1VY;PV=)4W`$OU65)=_!ZQD[J.-9&<[2?)8?
M8)=YS0]+#,4P.6F=W_ARV&BENTTFR'C"R\\"M*+/;Q@/I);$D.`$8M<Y&=RB
MV2HK67ZV:^$>0[MDCM0*9)ROT$C7-E7G=0[!P^GG1W"=)->53+I81PY%!U[G
M-Y79`DY>^X:@4+Y6M3^*1P>5S4WE#.#7W(W897]QT]P-A6E=C*%?&:.8]5$\
MNLH''T_/CMAZ- AT N<K4T=4>I_C_`;'@*TK?-X5PA>I+IG=R#W)#R0Y*\SZ7$.
MF$N1,,+U=5DS%^9FB8TA!_ AT Y#T1/9MT8+^D`?T!99%7,>SGJ?9P*ZU@;D!Z:
M3#[9&%6<_=@O>(<Q!4.WTDZS'&_M$\T%],YTG_<T,HQ19^GBDDQ%2]0NB-0Y
MW<K&\(!M\]S7E(",3DGL1&6*R5.VZWU\JQH+[&\EH`YU0]7EJ'A_QEZ6LC0-
MBP%6M/E:HL!:$Z+@0!=IJ\>.5M*1W8JZAB$`AHT5RMZDG6L01YT<DG.F=+X[
MM AT 1Y\9SW5[`HB AT FO'H905'5RL,X.=G%OUH_+JS#$W]F.L8,'NOB)LMW\P,)"
M\;=5O2IB?:%XO57S<+A75WQ`B]G5S!/&V_51U*J2HJ%PCT!;Q\1Z[FEVG2>,
MF AT 5RW4DX#OAHMN-L6+$)$F'TN.W:>-WG)/!B*"]W6!B174XTM#:D#@V*[Z98
M<2!KLI'\=-V",U!`SPP$NT^25WF^S;/9"W^;6`TXN77I0;^)16=0BMDK+,WT
MO2N&DL'Q[AD8AP.SNW&P=23/OZMXYQZ!'N'L]JCTK4I9N93>/2Y]AVE!"EPO
MM)6C`+;0\[LM%FYA'=<MLT0 AT K$-E/:<,B-5,1F]!JQOI3T/1+<7>7U]5&VSG
M*H8^S)22FP`[#=R];BZ6W''U',IO?^,/`J>%&\@0$A)+3J#J)$1P"S@^BT%Z
MK/1$JY_@\[2.A,QQ6&K#F8P1C1Y-KW*:L_-YR'_2D_->NS34XP-H&*'I^S&:
M["$TC:#3UTG7HNW:<UBV_LU@[?F`M%:]3O$/6426C2326V"\I_0+<FM5A?:P
M-$@W?%\UHK31IMR!,+ZS`H\\&Z%WJ/JKR":OL6NPS.*RW"1([@Q,#S%4E*9[
M,7GX8.#TN%A\7H<VP])OK__F35!ST._-V]A^A*)O:$:B:T.FR69IZ2IJEDT'
M1 AT 4R&U?+J/KA(12$6(5'7?:DQOE7A+'?7-)H.GVWS'U:M^Y(@>-7 AT _0;*]-?
M0X9C:K=]KH6[PPR_X_]88X[6E`D[KF:7D1U<.R*VCU>/PZ\673_NZ\!1XJ.?
MY_>5C3*M)>A9*R>L[W7:<[^'7R_3_YWM0^W\-])_"XQ[>DGHO,"]ZT:50,:&
M6Q1/4!!5[FHMJAXH$_A/>[S0AWZ%Q!YBTM14?&^>3RC\16-,Y*/FNC?MP=X+
MO-G8^FR2D5L@]\#;SR`5T>ON;R AT G;PS>9Q$E+W\9ZE_AE6 AT CK&'\$;IWO/ZB
MP>`:NU2[\*>:K#$WLD)AQ/M*)=,T/0GF+N AT C;WJ'J]-'J'"L</\`4$L#!!0`
M`@`(`..=:"!8JP!")P```"T````)````8G5I;&0N8F%T2T].5M#U-U;0S5=(
MK4C,+<A)U4NM2(6SDQ6R4RN3\A.+4O2*>;D`4$L#!!0``@`(`'2.<2#4^;&F
M#0,``,P&```)````97AA;7!L92YCA53O3]LP$/V\2OP/CT[0!$&Z3=,^E&VH
M AT TU4*@-1)H0V!&[B-%Y3&]E.NV[:_[YSDC8)HJ-2?SEW[]Z]>^?NWE8+>[A*
MA(&9L33%@U83S68PB5H8T`>L0F8X[J=\.59,1W=!T$&<R=`*)8U+F(N(1Q`R
MQT)[%1B8=H"!!6%+$7('E+`Y!T.JU!3,UD*3-EAJ5`^CX_Y7JI!#A81OF;0&
M3'-$/!:2ZMB$:QX$`7H^<.H`B4R`,Z;M4C*3I[IW=ZNUU7HI9)AF$<=[8R.A
M AT N1C[:Q>W AT 7/F)">O]7Z0^D($Z8QSN*8Z^_OWMX>N@"@NX>!(T5*$0^L`*@Q
M&:5<@[XHDX=3Q$J#:ZVTZ95<`!'#6\LHI+">[[OSO"!(2B%M[+5/+LX&1>X/
MV?8/BX?\%X4?O"[^_G5X[L<JY4)S8S!6-J')B9 AT D([5)/RMDYL1:`\5QFIG$
M(S549HNCLJ]K)FS.^A'*F%,50B?I5WTL$I%R>-M5,_3C+E(+Z>7S&XY.!U^N
M?.SN%MS+UX;HRS+:]P^;3?5IZDN506=2"CG!M9"1^LWW<3[JOH%R:B^AG!\P
MRU(K+#-3%W<^.H*W[$J_M[EI$S)))7;"]GXYY888^48XXRI+`H3,;<":/GD_
M(:M AT H;(TRD,62D^1R8B8$$E'+:?H]&K`_<Q,A4?$ER6&U>PA-U1H=7K`4GL0
M\93F-QL+R=R>Y68OX%9&*KWYZA;;']!9=DAM-,]N.G5W$8U\6QJ^=49V,U>9
M-CR=\]*LC6F5[7JK\50#(BA9F`/'CGB?B)\0\9KWB'C-Q!O<U_2?(SAC$Q$V
M!&@XL5JIY\UX?'4Y7%GQQ?]\V!^2"1][=F/TR>=AS;*5)H;S([J<R!6)\V)!
MF\6:B0 AT JKFWB$VJLM1ARBT^#\Y%STB)AEL_)6733AD[JY@!C2X^RI^963:V\
M,"J2-[15M``P5I`!G!DGW%*BY[N*Q6[XX#8,]L&EJT![J"'9C/?P_%*91TNU
M*NN6.8>CN^1^QW1(BWI AT N2S?:-FK*[:\6:N)5_VERO"\O[R[?U!+`0(4`!0`
M`@`(`%B1<B#?\@U\T`4``/T+```&``````````$```````````!R96%D;650
M2P$"%``4``(`"``U<'(@&2;G=C0#``"C#```"@`````````!``````#T!0``
M:V5Y8F]A<F0N:%!+`0(4`!0``@`(`%6/<B#7_(T[K AT 8``#\2```*````````
M``$``````%`)``!K97EB;V%R9"YS4$L!`A0`%``"``@`XYUH(%BK`$(G````
M+0````D``````````0``````)A```&)U:6QD+F)A=%!+`0(4`!0``@`(`'2.
M<2#4^;&F#0,``,P&```)``````````$``````'00``!E>&%M<&QE+F-02P4&
2``````4`!0`2`0``J!,`````
`
end
END------------------------CUT HERE--------------------------

- Raw text -


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