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.

Search the boards