+--------------------------+ | Programování v textmodu. | +--------------------------+ Textmod... co to vlastně je? Nedělejte si ze mně prdel, že to nevíte. Tak se mrkněte na tenhle text. Je to mód, kde sou jednotlivý znaky seřazený za sebou, každej znak má na obrazovce stejný místo. Znaky jsou tady (většinou) uložený na adrese segmentu 0B800h. Každá řádka v textmodu má (taky většinou - jestli nepoužíváte svga textmody) 80 znaku. Jesli chcete, můžete si to zpočítat. Na tý adrese jsou znaky uloženy linearně (za sebou) a každej znak zabere dva byte. Proč 2? Na prvním je hodnote znaku (v pascalu ord('X')). Na tom druhym jsou atributy. To znamena 0-3 bit = barva popředí (právě teď je šedá (7)),bity 4-7 = barva pozadí (teď je černá (0)). Z toho vyplývá, že jedna řádka zabírá v paměti 2*80 znaků. Logicky je druhá řádka v paměti o 160 byte dál, třetí o 320... Takže jednoduchá procedura na zapsání znaku na obrazovku v textmodu by mohla vypadat tahle: procedure WriteXY(X,Y:byte;Character:char;ForG,BackG:byte); begin mem[B800:2*X+160*Y]:=Ord(Character); mem[B800:2*X+160*Y+1]:=ForG+16*BackG; end; Takže základ bychom měli, to by pro dnešek mohlo stačit. Tohle je jenom úvod k textmodu, abyste věděli, jak to fachčí dřív, než začnete číst vo plynulý textmyši. Podrobnější informace si můžete najít sami třeba v Norton Guide atd. KubaS výheň