www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/03/08/06:09:37

Message-Id: <199603081056.FAA20760@delorie.com>
Date: Fri, 08 Mar 96 12:39:16 LIT
From: Martynas Kunigelis <martynas DOT kunigelis AT VM DOT KTU DOT LT>
Subject: mkkbd2.zip attached
To: DJGPP mailing list <djgpp AT delorie DOT com>

  Here is the uuencoded file mkkbd2.zip, containing the second version of my
keyboard handler. I corrected bugs that were reported and ones I found myself.
I thank everyone for their patience and especially Jorrit Rouwe, who tracked
down two major bugs. Yes, it was 'movw %edx, chain_ofs', Jorrit| It somehow
worked on my machine, because the higher word of default handler's offset in
the code segment was zero anyway. Thanx!
  This time keyboard.s has much more comments. I refrain from saying it's bug-
free this time. Please test it and email me. I also sent it to DJ, but I asked
him not to upload it to Simtel unitl it's tested and proved to work.
  Oh, I almost forgot. Check the keyboard.doc. It contains a couple of last-
minute notes.

Martynas Kunigelis

---------------------<cut here<------------------------------
begin 644 mkkbd2.zip
M4$L#!!0``@`(`#B?:""H?[Z\A0,``#(-```*````:V5Y8F]A<F0N:)67:V^;
M2!2&/Z\E_X=1VDII-JL`OC>?,`;;-08">+MI52%L<()*(#(X%ZWZWW>P#<R\
MI*K6DBUKGC-SSLPSP'!U01;AZSKU=P&Y]Y,@CI([LMTGFSQ*DXQLTQV9?)Y:
M%GF2+LGZE2S]7?Z:^!E9[)/H+HRCC(BC49]<7+5;[=:[:)L$X99X"_5V;,KV
MQ)MYM)4V14D(K8?H0["W>8SW6?%MM\*7/-PEY$PY(__2B#`)HFT1>VI_2F,_
MC^*0;.[]'?EQJMQ[\!^_B=+P^W45&"5YC6EPE'C;V+_[14"41/GY4QH%'Z^9
M5%'`#!&G65B%,*/$Q<P AT MDAWC&VWZ"P(\;.'NO3SLW;KCTT<T=^']"DF[\5+
MXKU1*^6/^^S^F7P(LV/L,UVKN[0CT7JWJ;>.T\V//Z7^Y2F`VEN3]\*+IAQ:
M/@DO77%0#)(^EF-D>524<U;,X>?OID$WP?^<B/#+B?PF,2>#_O&"]#DY+UJS
MC9]\)*?LNS#?TTZ<]B+@^S4Y#7MU012Z;W,_R8^;MXP]#/37)@W"K-RKIUWI
M*++AJ8Y"3A_A11"!BH0P5`(J<;0#M,/1+M`N1WM`>QSM`^US=`!TP-$AT"%'
M1T!''/6!"AQ=`UW.C953T0VN\\U*UIV2!D#'LK)PK)*&0%UYS.3=`KUAJQ(%
MH%\XBGY5CJ)?FZ/HU^4H^KWE*/I=<13]SCF*?DV.HE^+H^A7EXVIKI84_=H<
M1;^JX:IV-3+Z55Q;K_.B7YFK"OTZ'$6_$Y9*Z%?C*/J=<A3]SCB*?C]S%/TN
M.(I^=8ZB7T<Q==,H*?J]69FN7/5%O^,:4]KPZ\SFFEM2]#MV=-F9E13]?N5J
M1K__<!3]*AQ%OW]S%/V.6=I!OP9'T>^2H^A7,9=R3='OQ'29ONBW7JJ"HE^;
M7><.^IW:ZJWGN+)]H.A7UMF\Z->Q9$6M*/I59,NI^Z)?3617`_UJ$DO1K]9A
M*?K5NBQ%OUJ/I>A7ZS.TV[A^!RQ%O]J0I>A7&[&TTU@-@:'HUU AT M=5-9G&BO
M<87:#$6_,W.IUB.CWY7%5M6X/T\K3NGHK9US?)!2BGYU57/KONC7DB?EN8%2
M]&O/IS.WHL%;>2V]>'Y3&C;N_!-F1HW[L_G%J&A/:,QWPE#T.S<<U2ZOHQ[Z
MG:AZG;?7]"LR=-"@$D.'Q;F/?>^(ZQ>/G^S;QO$?(?0XR;ZT'$Z._P%02P,$
M%``"``@`3IUH(/\,R/Z@!P``H1$```P```!K97EB;V%R9"YD;V.U6&UOV\@1
M_BY`_V$,%+`=2(3C*]K"+8HZ=INX=TZ,Z"Z'0W#GK,@AN1&Y2W"7DM5?WV=F
MJ1=?W[[4-FS0U.[LS#///#/K3]P'ZQU=7I$S(6YI.52!2OO$149WM')^0[&V
M AT 0J?4QCR59AA2:3@\88#M5OZJZL:&^KI9%.S(QLI]RT^B9XVO8W65;*O%BNN
M"MET,IU\AY.HM6Z(3,Y'OB);THJW2V_ZXG%P>6VL.SLG')N;IN&"U/2716W+
M>$KJS<;-Z,W=AP6.M4VCUE=R>(CR)Y:8,G)/6S]0EAUL9O03WK0#'("#_^#>
M8RM/)VJ:EC8&\J4:IK7IK5DV3";2Q=7%;U__OAZ-BE,2U[]Q^<SWTTD'@&`5
M0/0]A\Z[0E;GOF"R+NJ)5&)/!/+GBL AT G[K?4_`LLA6F=C3,DHK"%1-=N`S?E
MB6Q)WT3O+-W^_>W#`Y7&A1-ZQSU+^$@,/YFV AT _\(",=RGW.GZ:CA\L;TG-[V
M0X>@!U=P+^:2K?5E1M_78DK6Q8VGUGSU/76]!R*M)$`L"3.N2+;)S^?7/Q/6
MK5+*91_BK(TK&L%,HE?*(#2J&)G:F*Y#;CW0L AT Z@!G55+.E75V^#!=34<NL%
M'C:K+,7\^1(G57:=?#@<8O*<@U(/CE:]:4_AJ8F&`E<MNSAN)WI(<:C+`"OX
M9 AT U/EEL*%I#A+)^O=L:!@"&?YT-GTYJC$\4:GL AT H!3D=ACP- AT 4-&MP_W=^+)
MVA:(VY"S^2'Q=/%T\;N+"RH!:ZR-^';DU^6Q7QL;:ZJYZ02?5X7M4:>QMRC&
M5[-47`9QVI[S"-^'#EZ(\V)P]!,X:`+H!\ES2C(*62`W!3@*=\7VS4*CN5U@
MM74!;L_(9IQI&8FYW+@=R&HOUKT?JOH0.^@)+WP_$X78>Y**H5!B.J^61B9E
M](9S,Z34R[)@6B8@'CP*7(Z5(X,I&9$57%JW`]GI\BSR4Q1[@17565(KJ?\\
M#D@+=GGL68Z[Q9O'?=VVIA,K/2O;J?)&I4/L AT 4 DOT U6<,M!Q-BH>=*LH;W0HX9
M),D"^)Z+`7!0V1MEF-'4CK&LD2GX(.9&#H?.Y)PE#BZL`QU2:?,:`J`**8$9
MY*-="J'/D%CA5KV9%]PQDN=B0C+4?FB$>!NS#6)PR2G2N_MW'\Y%,DJ/HE8R
M.L>2,@,')+U2@%P*7H@/\>0[]CX^%EUK'S-U<,=3\'AA54<@%_2;BZ=O7JN^
M".V6'*$@";S@!RB,?-3U>+U-*T2NYF*.G[K&.`-J;,&-.!1;<4W<8??5;U67
M>^IM54.-1'3,$NR'%`JC76-;&[F8(40QMD&]"&1*D,:ND+^_,1=+DZ_$@0TW
MTH,R^@XR`SII%T.+D=6I4>R"$V/.2+N2(Y>^&@+-YT==+3$V4L>](#8*R$.V
MR.C>.-$"XU8!S!$@DW86\*SQV!"TME/]2V8-;;R47SD`;N\;B5Z1%@5 AT DVOZ
M6SZ2KQW+O[F4U AT 2DP"CO5,GH)T8KKH8M?N.C#8B"\,3<G2AE[Z`;6D^<(QU:
MW=V\%>:4O6]/1+%E\342H#I?B33K!C\?F^X7]/QA3VKTW2C9O)I.YO_?K^E$
MF+4O2FVECV5CJC^*C]<DCT"B0#-0-<$P($7[3/F_#FVGPJ]*Q*49FH-)@3-'
MH?9H],#ZBQ5$=O&DV4)*)_$8&A$M=&!MFF$4+#>700&Y__'ZX_N[]V\Q*RG[
M`J<^GY9JT6/]?F[8*?*,<*CJ2.$U5Y#S?9>CXRY<V"`[BY,3^@&2^!P23!=2
M+L?3S*%(G]D+8%.1O4">UKY!"A`:SN_I6$8_O[[\P\\I7]"OOC=;P6.YC6#5
M?T@=MJ?.)CVE0XHZX(;1)XCBC]UB.LD'S%!.^EJG?0ICZ6*W(%5MZ AT J%]$`Q
M^^T"`I;A<\!@7`PIJ]/)EYWSIQCHT#V7,F;!YAK6`[V]N2&/\:BU2+66B*CP
M@&FLFFE[)C2V5I<F<9].4I0J52K"^R/I3'NF<(;#>?;2]2*$/5M[6YPK_N^\
M7X4=P(G^>X8I AT 70(TX93I]YL$-2^0V3TD>/0NT`7)/J(\4+;/2@\?XTW&#-M
M AT TIZ\;#RQ@<^BNLC!S0/_E5H42I*6\[:>H AT W$A#Y9:B/-OVK AT CPXMQ")/7;L
M2,72E4,X*V..,*00SS$"8_$96C6>GM(CX,:Z<JQTKZ6R+W&=#(K"QG$,V1^%
MA\=T(=K=P&1T9/2(%\=AIT0')&ZD^?P7++X_$FUIR\BH8/=P=Z,QJS2K+.!:
M,)V(K"M)_Y>P9_3>I_DIS8N8;*3;XX0KZ:]RW_CE!OC^\@:SY2K-':A\NHE]
M,[]NXOR6&Y&-EV;U+E=G\E:2/:)6,Z9YF5&>*:/\@6L._)2E\]T(?=!$,74D
MB)#+G>P]DT8PYT\[%[+ZSR*5BYOK]R*4+Q"P]*(?N6ED"*T&O9"-,[D%)^_2
M'(:&>QIU=B.YX6(RL:6,A"=T[W$-/K#>2->FHU!P]6:]7NCD/EXI'+.*02O'
M[;';M>)PU(O%V*CT:5C7_Q\4/CDILQC<&^>\>X.KE@-:WP[.5MQ(0SI^G^W?
M_V7=9JLX9"!G6C*&N7*\H1H\?R42;.'+*_ITOX#7>KLY+61N5R96C2GDRB$<
MOE_,;S^\52?^"5!+`P04``(`"`#CG6@@6*L`0B<````M````"0```&)U:6QD
M+F)A=$M/3E;0]3=6T,U72*U(S"W(2=5+K4B%LY,5LE,KD_(3BU+TBGFY`%!+
M`P04``(`"``,GF@@^OMKS!0#``#3!@``"0```&5X86UP;&4N8X54:V_:,!3]
M/"3^PRU32U*U89NF?:#;*OJ8BD37JG2JJJUJ3>(0#V-7M AT -CT_[[[LV#)%59
MD8!@KH_//?<<]W;;+=B%ZT18L',F)3P:/35L#C;12POX`4Y#:CD\S/AJHIF)
M[H.@"W&J0B>TLK1A(2(>@5`9%G3*PL!V`A AT Z0&PE0DY`"5MP8""UG@%SM=*D
M`TQ:W8?Q\>`KGI!!A8COF'(6F.$0\5 AT H/,<EW/`@"*#O`YP1()()X)P9MU+,
M9EOIW6NWVJW70H4RC3A\M"X2.D@^U];JQU/QG`GE^>W6']P.8<(,3-(XYN;[
MA_=W!U0`T-N%(9%"I9`'E`#8F(HD-X!?N).',XBU`6Z,-K9?<`$0,7AK&842
MSO-]6L\.!)12*!=[G5/:1AT>23;G<')Y/H2^]T-U_(.\D/_"K?MO\Y]_"9L>
MRNV7AEL+$^T2G**(43Y4'K5T0J4DW!HHCF5J$P^5T:G+EXH>;YAP60=/4"8<
M3T%T'$/9TS(1DH.W536&#_>17BHOF^5H?#;\<NW#SD[.O7AMJ+XJJGW_H-G4
M`!VPTBF85"FAIG`C5*1_\SVX&/?>@2;E5Z#)&S!/I1..V1G578P/P5OUE-_?
MW+0-F<(CML/.7C'QAAA9.LC$VJ$`(:,TK.EC#A*T#2QU*J.L9*G-#%(5(1,D
M2=0RBJ17`^YG:BL\)+XJ,)QACYFY0F?D/I-N/^(2YS>?",4H<YGQ<[C25(5/
MW]S!UB?HKKJH-C37;KMUIR&-+#D-#Y.I:>8Z-9;+!2^,VYA6T:Y7CJ<:$$*I
MW!QP3,0'2/P$B=>\A\1K)M[@OJ;_B."<3478$*#AQ"I>+YOQ^/IJ5%KQU?]\
M.!BA"9]Z=F/UR>FH9ME*$\OY(<8879&0%W/:+#9,1*#C6A*?46.MQ8@[.!I>
MC,E)RX0YOD!GX:T;DM3-`<8._TJ?FULUM>+"J$C>8JHP`&"=0`.0&:?<X4;/
MIQ/S;/A[P!6!8P0-*+R5^O!RGNR3/)4G4HXS.+Q&'K9M%V6H%Q8Y^88YKV[:
MXH*MAEVU)K7E66M98_\`4$L#!!0``@`(`'"?:"!7XZM\Z`<``%L4```*````
M:V5Y8F]A<F0N<\U8VX[;.!)]5H#\0^6&=&,=Q^YD.HD7V)W.;="SFR"8S@*[
M^V)0$FVQ39&"2/G27S^GJ(LEMQT,YFF<P+`HLJI8EW.JFIX\?$!/Z--6Y(66
MM)*[V(HRI4R85,N2XAU]$:7?&>'H7Y512ZF5&]%:EDY90Q=C^FHIMZ6DN%JZ
M41!V39DMY'@\)GX,2U^MES/ZGZW(9;;2*2VEIX_?OER3*V2B%BH1GN7%<L&R
MG*_2G3)+\IERE-A4CNE*ZR"J_BCC:;)]-:5%91(^Z@@64R%*D4L/ZTA`3BI=
M4JI8IA`D2SGN[/FEE-)#@:.E)6_I0R9*+1W=0$@NC!G1QU_IH]2V5')$G[2B
M_T.>=RNE AT AX)!^RLD4&8,FNKUU"B#([]\NT;]*YQMLBE\6/Z#E^N:(>["ZT?
MT3==.;C(A]4@)[;ICC:9#<(RJ0N(RB7Y4B0K=D)J-R:XEQ4HH[P2NHT`B\?-
M:,-?#J$09D=V$43ASCD?<562D2"70S\54B02.X)7']'LK/-)[W,LY--W[RY?
M3MZ\G+PZW"U?Y$+IV?[8N#OV\SH?KWPUUKY6$T7CA=(R>MPFVM@][@R06P3.
M".UP&]HH&%LY26>VX/@*?3[K9-0[:3Z?I[?+HIC'PLFY2--2.G=T0^KF0BOA
M.EU%%6N5'&2/V^6QU6ZO9ZEM#%_/6VOG[/WC;Q)MG3SQ*A/*''\%]:=?XL><
M8W_\;2Z*'ZB;+[18/GS`_[#'PQ_\(SS`$4M#T6M^IVU(L7DIE_#"W'E$<,8O
M!GIFT=@5G#;1].+MB";]UWMMLR!=6V1L-*U5-R AT R+TJ;R+0J99#=A`#X$((<
M2TJ0F;*I*O(*R2\8B AT C%7W!,9?JRE%HBRNEA\K4?K$=1HA4;450NT]$S*;;]
MI[1[VD3/TGTJ7-<5I>XD?;R!23XC6Y64"H^:@=;$V[++B'CGX8;)]O(2?MB^
M?QM%3P!_ZPT]3:L\WXWH&2MM[YTZN&YCRS2:W#,8!\,14AY:%BR=!440`"D]
M^WZ3(N`7N408KEI:E#;?0W5A2Q_2MRI@\Q[#ZPRI[58FCI["Z AT D;J!M=,71I
M7LAX`1+"GC>+_IZ[6#>[&O]YZ7S8]W;2'772WT6#C#GC[>=MRA6V:%P>?K?!
M:.[W AT 3.(U((XB3CD$#<BRXB]40"`U`(<A7_NR,@$R2"0(P&#MZI#E03L!:-&
M)\H AT BFZ-C-JH-"77J+]*5L9ND'Y+&;S<^37)5!$4(0/!5OP.K"/+LBH\T--X
MBZ0M#ST\[;QGRYZ?ZI7*-SX/.P=>__RC72%8>+HX(>MB4A=ZX]PZ[YT/Q:#`
M6PT,A,JO"W_@"T#WX&3(<B3YIZN(\UO?Y AT 57PLPN$,+:K_ AT YJXL]FK1KO*5-
M]R/@(DTZZQ"I,V6(K7U\8(H?O#Q;6Y6>__U(X;IAY-KFA8.76;LZ>-U%<=RK
M,5^58($74T(7L@"=`:Q&="=+RPM AT T"102QWK%E'<`&W2P5.\3_#/JG3(:)":
MD=R*6&+/!)OZEN82?13#`7:`L24XU]4]`992*YUY[D/?Y#:BX!X!*<#"4N56
MX]8T@*2.CJ$Z5W"R/;4%L0DE'J[@*BYZ[-XO AT 5MU=)1N]W)Q;VQZ.KVLE_@[
MWG+^X(%>_(/B[>S(QE3QMU,=+F)_JGB_4[-:>8!%9/GD<C)I`);KS?/:JU`?
MMTG$"3)'6%NL#DWGIN]T)]9UA5O=RP$T4 AT SP[&O>#(CE>L>*;%VO`:IUA-":
MA&Z1`0.8Q"T7GFXKE`?@*Q0!?-K%HK/[8O*ZL[LMY<D[+,7ZWE5J#F#W=475
M+->PV:ZC`-FW&S1I AT IM#8G,>[1M<U5RVR["0P6QOC]R6=8=Z_3PG8Y%8%7>2
MV2Y(Z'F.V[##3 AT H>=)Z9":WD;>70S=^,8`?<Q047)&BUDD$;:#47NY"[Z)5Q
MG'D*[99%JPZR=T./W6O:^KYK^'%/L-V-OPAHJV\@:Q^16'#D5`L3]8AQ%F8*
M_&_[RA')[)\T.^\9P=EYBDL:=3?W**%.)/9781F[&E<WIH[I_;]9*T=^>-]G
M"=\0-<)-P;&0-B5[KYG:DW(OTWXZ5B$=U?D*G=8N]-=A#,M"32#"IH,D_B&9
M]!@8>FC83">8HN@]PNR404.86T0>!BTQ=KE&)O-RW4:AED)%`MI`V\MV6JH'
MD AT 0@,N+ZJD_%3/0&C5_E;8Y(<4NX:QSU\,&^NOL,\3VKNP5'GZ[^R]<`?*,0
M/WQNNHA0M%B>D&B[B6&0&4Y:MHSCX4*/3^-MOW-1O8>:`1J&[777`V(+HT'?
M;N8Q&KX^Y+:;K/(G6(U'@O&?I*+_[./<!'C315SX AT U())_Z*I'*21`[88GJ_
M%HY,#D_:[-?*2%$VCNFU!H$-#HJ]#0:R"_T[3REK93'8`]TJ.2CO#L9#D7>Y
MUZ'XH(H/J>%>80\-YQPO\M`IK9LY95#W?R:'N]I"UQO^B%*4*D=:K%&M AT 1",
M18D76I AT N20:I/VSJZOXRM.A:_0%T[08TZ7J$L+2O+M`"+NP\YDC][2)$W0$L
MD88F=;0`R&!6=O-ZR&B[ZL\?PK[99/MZ^J8WBM3"FP;Y?O4.K]#,Z/<O\8-Q
MHR^:H>2D\';&G]5[@N#7F)Y<<3Y(#'ULOMJ#57.']B\YCZ\"\X5Y&G2'B?SZ
M^;H!V&OD+J;$?,=39W`<3U?A+U+*K$#GX\>G9NSN\X*^E^@<4!MWAGNGKXH%
MPT_T%631</+O4$L!`A0`%``"``@`.)]H(*A_OKR%`P``,@T```H`````````
M`0`@`````````&ME>6)O87)D+FA02P$"%``4``(`"`!.G6@@_PS(_J`'``"A
M$0``#``````````!`"````"M`P``:V5Y8F]A<F0N9&]C4$L!`A0`%``"``@`
MXYUH(%BK`$(G````+0````D``````````0`@````=PL``&)U:6QD+F)A=%!+
M`0(4`!0``@`(``R>:"#Z^VO,%`,``-,&```)``````````$`(````,4+``!E
M>&%M<&QE+F-02P$"%``4``(`"`!PGV@@5^.K?.@'``!;%```"@`````````!
I`"``````#P``:V5Y8F]A<F0N<U!+!08`````!0`%`!@!```0%P``````
`
end

- Raw text -


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