'=========================================================================== ' Subject: BIOS KEY ROUTINES Date: 03-31-99 (00:40) ' Author: Nigel Traves Code: QB, PDS ' Origin: tarot@ihalliwell.freeserve.co.u Packet: INTERRPT.ABC '=========================================================================== ' BIOS Key routines DEFINT A-Z:DIM SHARED K,S,B&,Z&:V1 'Created by PostIt! 7.2 SUB V1:OPEN "O",1,"BIOSKEYS.ZIP",4^6:Z&=5720:?STRING$(50,177); U"%up()%9%'%[-%K2e)ISi&r+k.%%%5F%%%0%%%%gn%txpj&(xSg4nF(p,bT[7E7v U"ONdEL+5PE5Y%AsivA%z3?bre(T\e(nbeBg2GJ4k%p-%*%lvUzMuq\P+DlW)6fh( U"yG6dl)J\(Q4JG7X^xA-tNNlvGF/T*/3^wbUI[60D;b.Dm2lNV,?N%>\:bzXX>PY U"iOqX^+UK*O6E:Ga1[4czXkD/zt4+ZjUM1.Iyo7p1B[yK/PZ0Tdlsa7h>^ctv8M0 U"^KKrX>klK29&aEhEE\?V,e/kA/eua+MH?%anx.+o2Vl'ei'\bIQwi6-J0BsbA&d.T-)J&dMZ$sJ='N U"0h1f24$7qo\(H-\PgWGu'Z1#2/Fg)G,Cg(%4MX1)e/Iueywr0_+24?2Zct'm9$t U"-M5_;lcX5Sm&roIet0;7WH;f].AYaHRdEKn,X#srk2pTCHGPgOTx7hW9ubv6,NiR U"SQXZUE;g:cBU$U2u6WjgUD#[LS;X3UI2h: U"1>ItnY7o?X;=(Xm8KPqjqtMTg]I%Ijql4&ZN^sAqh8I73))H_M?aNMa?nWiiiO* U"iN-l[RR6Hej>vb U")P6mm?GjJ,9KK*DI5^MM8kTk4UinQy9O_K2c(-/RJKf8fD$ U",Zvio_#oZ9(k?K3^jrV+SCc9tA=o[AMMh,tZ8><]oBsNM>I4,]t3$?*;SLKWVD,LdfIdrUxofO U"Ghi>/HEE*rSL4fYQ1*g;aWZt$Xqk#O[PGGqv*f?s]7NHhJ8Puat U"\8PXuHY8[xxb>S5s'm;RBPuLCDg U"p_,?GMVg0GFukL%/?72ONDCDtq*WA1S*)u&>S3q]A9IT7AZU^VDo3m7vdl,#B.$ U"##(rR\)Ba9$QTV\y,P U"52Vdo22yUBb4:I0\d6wQSVZq3$YGYqKc7.tm*2T:^,7?^NJCSAUF)?.B-Ye,q07Xs2l*2.-J'FCYqN7DUj3X[ U"h3WEjdYLksEtml=qF,nL%VN%a9Gt)j&u U"RK#0f9#zVD8JFBufE'%u?v'qO=]:\dRyT9pWH>/5K8VgEVl$D=bK1mmpvc%m%H( U"Q4+dlOI8X%4Lq'L=mjz0.qGjV8oAg/3g]0ZUXiO(1^Syt6r(hho7_(N/hl^Z1k3 U"US>8Gb>%KY*se?[S'kWHmMbN[7^SbUw^gdaELgUr,+T<])*(A/cV-LAz,dCbiGL U"k5=G:4KdJ\bDok1Ac7/laDR+ID8J\EDU*j2W_UdE/Ybv0#& U"uL9ner]6CO>+L?=dVup+ek(PbZD1hF6FE+:adnoB4-ASFq&JrB=2>zUkEB]_q3* U"IfXQo-lVtVEb-sp4?v7.dhN8\5;C(Lsp*dfC,+l'i_xAI/s'1$%&oiN8twxB)4i U"5F3oTQRKV=YwJ+URPbxxJ248flmKDAkZjvYUD4qU]w\2cGn U"+wjPU\kLS*2)I,;gaGY;m:a,R5zCzPA294.AEME(i:F/Ln/,3tmLS$oc3?sUOx^ U"=.>?[WHDWFc^M$j6'uJak^Ov+G\%g7MjX^JndjFF>E U"o(6Cc#\mS-D+TwN-#GkpgF'X)>jU5MM^cNn/ U"tp)6'B%z7e7OsSG6=LuY'A')X>s[_m9dYm7cUAJaIt5hQr7.OIEym3iBb%^ U"QVDc7]+EF5]1o2o&(BEt[WYRf>2M%l(nWV&7aNtw59VC*VAUwsB6W'O^LH^drU& U"/RMm[?z3i5%jaSJ9$Y+?IAqus3ro$fFD6=dHc(>h>>PCA0RUZG,*29':_^j_RG< U"ZX]?LIS(0i(MT;:OQn5fiZPaj0iGTrQa-x*nfKToh,aX9U6hTJJWQGOk/QaGv\O U"wO9/KIBAEb0eq5?JS-L6Pq_\MjFSAQYL1C0-9?n%O94ev&'Q6Zv>9o4ZlHJ00=Q U"Y)CX(Nv8UKs;1A5D&M,C&N>\hnL,2AA,RTJ+9=]GonXHY(/yj^,zM^#A;$jGFfp U"Aw_d3YMMCEpZKm,AH]bLh)]:Y-i+*^IN*v9o?BCi3*[unwx])&u8SU'3/7-p$,; U"[PsJBeg05i)KMA1Uw.eC3*YUVJ6^&<:*#Hou\r#]IeB^]9j8r?,3$[<5JpD%up( U")%9%'%R-%mZn0IO[*;5,.%%%U#%%%1%%%%pj&(yfg%qjSyS'y&';*>\[^;ML9Fd U"ILq$T1aLCn%7>-K/Be5e^X\r'l?BZ/VDR47LXU,]]ook\utvndpK[o*:G/D'/*3 U"ru\=hZUHJP#c[oDY4nIaMq)b\WSep4M&C4,c.hV;&7zdN:w>ApKvqmYj].pjVD.(d^;A]UV$ U"LJat,V/^-VOwCdylmTAR]ji*s(lyh$^y4%yTPrHxsbSg-rLvN5,b,FxX:FKT<><16a./ErrrV_sgQ0+M=Y,EW9-^DhoG:vtrr,'&X-pRI4a_s*R> U"e&/h6#rl3]K$8i1foW6M:dl./m8vrNDl$JW&t,d>2UJ&'I&^kpsVf>4i_pNhmC/ U"/unwUMZYRh.uRfFRgjMlx]:VHbsP9n\H5eF&=(re=6YLb=,gZ U"yoBjwlD&r8h U"/>ViTVf&]v,ZRaD=Mtg(Xn0V^S)t7gNuNln76BNhkD4O80Taj)0SigYdCx74>)$ U"anBTzawH7DVIr%FcI4Y&h15nC9rDEy[Lo0T4#]7IzNG$Cs$21*ETr]'+ttA4>AF U"92;1:;zA0xql#>A?*? U"xs5HX70unxEvTLxb17gGGV&ir.AKre77kn9lhi-,aU5+]Zhbr5NfSWLYu(cTvcb U".^LHtz3,^Cs5x2*UTNVZl7Rc[zdN-HfSV:-sqjN$nmQC=,.vTuLZ?=Zx%Wkdf^n U"bWUkV-;m,ojcnr+2EENFRt:*5wgFl:ig2(,EAu\;t5BlzfW/+U+FT$=tc]n:_1G U"CW&#/'epkE=2J%ei3V1e]tvnSv_*Dq+uVm=E#K_W1Yj2(P/37Ve9/^'ux[]t:.g U"#5()MRjHcd/T)?W&'),0EU?sa,GIFB1O&O:*7/r0nj+je5([)Q?=J55IM^n$ U"]=1%P.WRmUszi(ZXM#F+-Co*E>a3K6#V)EW&'7;4?=3FLe5&hh15K)i_03mR.v_ U"$g]=%%fjjK:)rT]H/jg[5()%FUAV)fsV[>'MF+-&1=,xP['K%OGVXS.('%7m+=v U"ao,'b3OOYOO(:SFkfPcZC'AF3-/'Y[UY)r%x/s3#e39iU9er#n>1IBW(%';0>+k U"0cpFmPzQ.('e-d^kNlD:2O,&&r^E2w\8MsUsBP7:ob5m,)3mh2[MoeDrsd&y.,) U"K3K0[9JT7SLS,&#d3-CjsU:ahc7'q3-'C]ENIdTxV]KsI8]+LE4&MnrLf&qBYOJ U"8LM,X?AYbMbQ1_[aUfaDJnZpe]ZXsG0p[59WI_n6Pn>rxR U"h9I_qDlXUA-4;P#U0Kn.f&o9>rbfG*4hR>8vCDkSkg0BAGh/w:MLdZ'DsI/5dCpG()'Rg)^4L7qT=$Y/\%zjZ]*e;>0 U"IfAf56/.noCDOgDR=$Ul>99f:aefmf+VGk^WON)QJQ$8*=MAC,>I':RS#/]FH+2 U"6^Y\)VzTm(eu]1AJ<1$^c:O]jD(u]1EA<1$>^:O]=Z%NpYJvdoi_V>LTPmSKt\( U"lm3kN/*N/q=FLI_M)Kcn7?+>GYGC7 U"v/ro=g<3SdDCVC0Q)C&Lo]h2JUZz)iNCvJ9Y6a'/cgdJM$0,gJ>eRZ+nI*MDPKp U"8V'&_R8a3].#P&;o^)IK/d;scrT]$)_2QTOwtwa=?sU(O(K_FjQ#Se.CPY]/p72 U"da/.fcRh_sp.hPpknAAjZO)uhJl,=5 U"#Dv/,PfQ=Mf$tIb*/bx)sQTFwcg9w0C$kGWr6lRwjK>sT/s=7=NBF>,nm2DX;s' U"e[%N+BWAYBPm:=e8n6*=k U"#I4Xajw[CCK=#4*I&H&l3%TwOkHu=Dr6uN/r5'[cDwkHX(0JBcauv]n'nqrM\mV U"=br$u.RH/3;VeNF&-D;y U"HNNA=$^qa9W>s5-sVDQJl9<[c;C7=?wwlomT7q%4up&%'9%9%%'%-R%K2)UISir U"%+k.%%%5F%%%0%%%%%%%%%&%E%%%%%%%%%g%ntxp(j(xS%gnup%&'9%%9%'%7-% U"cpA)I7'7-\D'7%%87%%%1%%%%%%%%%&%%E%%%&>.%%%gntx.pj(x%Sgfx%up&'% U"9%9%%'%-%3mZ0IZO[;5%,.%%%U#%%%1%%%%%%%%%&%E%.%%31%%%pj&(yfg%qjS U"y&'yup%*+%%%%%(%7(%&%.%%d:%%%%% END SUB CLOSE:IF S=128AND B&=Z&THEN?" :) Ok!"ELSE?" :( Bad! SUB U(A$):FOR A=1TO LEN(A$):C=ASC(MID$(A$,A))-37:IF C<0THEN C=91+C*32 IF K<4THEN K=C+243ELSE?#1,CHR$(C+(K MOD 3)*86);:K=K\3:B&=B&+1 S=(S+C)AND 255:NEXT:LOCATE,1:?STRING$(B&*50\Z&,219);:END SUB