+--------------------------+
                         | 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ň