Posted By: Tuttle (Abort, Retry, FEL) on 'CZmsdos' Title: Re: TSR spustec programu Date: Thu Nov 7 11:44:29 1996 Nazdar lidi! Predem se chci omluvit za svuj omyl, kdyz jsem jako jeden z prvnich odpovedel na post o TSR spousteci a tvrdil, ze by to bylo jednoduche. Mac ma samozrejme pravdu, jednoduche by to nebylo. Jina vec je program, ktery se tu popisuje prave ted, neboli podsunuti prikazovemu interpreteru do promptu jmeno spousteneho programu. Toto je skutecne proste, ale zase neni zarucene spusteni; take nevim kde by to slo pouzit. Na tohle prece neni potreba resident, kdyz muze bezet prompt, proc by nemohl bezet stale nejaky nonTSR, ktery by takto cekal na spusteni podprocesu, bylo by to bezpecnejsi. Prectete si posledni reakce na toto tema od Kesona a Zefa, protoze je sem nechci cele quotovat. Mam totiz jine reseni. Takovemu TSR (ted tedy nejde o aplikaci toho spusteni programu v urcitou dobu, jen o sdeleni cesty jako neco takoveho udelat, o napad), ktery ma v urceny cas podsunout do klavesnicoveho bufferu klavesu by stacilo se pripojit na preruseni 8 a 4A. Preruseni 8 je casovac (pozor, Zef se zmylil, osmicka se standardne - pokud jste zrovna neodesli z nejake hry ;) - vyvolava 18.2-krat za sekundu, nikoli 55-krat, tedy pouzit jako citac dva registry typu word, to uz je pekne dlouha perioda! Preruseni 4A (mozna trosku jine, nepamatuji si to presne) je Real-Time-Clock-Alarm. Je to preruseni, ktere je hardwarove vyvolano, kdyz hodiny realneho casu dosahnou zadane hodnoty. Zde doporucuji si prostudovat kapitolu o tomto INT a o CMOS pameti, nepriklad v sysmanovi. Pomoci tohoto preruseni jsem udelal jednoduchy zertovny program, ktery v zadany cas (po zadanem case) resetuje pocitac; pouzivali jsme to proti otravnym ucitelum. Program pracoval na principu Alarmu, nemusel byt residentni, nastavil Alarm na zadany cas, a preruseni 4A presmeroval na F000:FFFF. Mozna je i varianta, ze ho presmeruje na stejnou adresu, na kterou ukazuje INT 19 (Bootstrap), ale to nemam vyzkousene. Pokud o tento program ma nekdo zajem, neni problem mu ho poslat, obsahuje nejaka bezpecnostni opatreni. ;) Preruseni 9 nas TSR nepotrebuje. Preruseni 8 je pouzito proto, aby program mohl porad zjistovat, zda jim naplnena klavesnicova fronta se jiz uvolnila. Je tak mozno podsouvat do bufferu retezce, ktere jsou delsi nez tento buffer. Funguje to bezvadne, to vas mohu ubezpecit. Muzete si to sami vyzkouset, kdyz se podivate na http://cs.felk.cvut.cz/~xmacekv/sw. Je tam ke stazeni program DOSClip, ktery to tak dela. Chyby, ktere obsahuje planuji odstranit, ale nejsou v druhe casti (paste - klavesnicovy buffer). Uff... ;) Hodne stesti pri programovani pod MS-DOS, pro takovy system se programu je jedna radost, kdyz si necha udelat cokoliv. ;)) Takze byte, Tuttle Vidis neznameho a nevis, ze je to tvuj pritel, ktereho jsi jeste nepoznal.