Obrázek 18: Devátý sloupec kopíruje obsah osmého sloupce u vybraných znaků.
Afaik se ten 8. sloupec na 9. kopíruje u všech znaků, ne jen u vybraných. Většina znaků prostě v 8. sloupci nemá pixely … rámečkové a podobné ano.
Ale že to šlo zapnout i tak, aby byl 9. sloupec vždy bez pixelů, to jsem netušil, to je pro mě po těch letech novinka ;).
Jinak velké díky za zobrazení Impulse Trackeru :). Potěšilo.
30. 7. 2024, 10:06 editováno autorem komentáře
Schvalne jsem to jeste jednou vyzkousel. Na EGA toto zobrazi dvojici vodorovnych neprerusovanych car:
mov cx, 45 ; pocet zapisovanych znaku mov al, '_' ; kod zapisovaneho znaku opak: stosb ; zapis znaku inc di ; preskocit atribut loop opak ; opakujeme CX-krat mov di, 160 mov cx, 45 ; pocet zapisovanych znaku mov al, 196 ; kod zapisovaneho znaku opak_2: stosb ; zapis znaku inc di ; preskocit atribut loop opak_2 ; opakujeme CX-krat
To je logicky, protoze jak _ tak i ten znak 160 maji na EGA sirku osmi pixelu. Na VGA ale ten prvni znak bude jen 8 pixelu (prerusovana cara, ne plna) a ten druhy 9 pixelu. Nejaka interni logika to rozlisuje - tedy jen par znaku z horni pulky ASCII si "zrcadli" osmej sloupec do devateho.
Aha, tak to jsem netušil, že podtržítko je na celých 8 sloupců.
Čili když se kreslí v klasickým VGA 80×25 textovým módu grafický myší kurzor s posuvy po pixelech, tak se musí "postižené znaky" na obrazovce nahrazovat těmi vyššími s duplikovaným osmým sloupcem, aby to nepřetrhlo ten kurzor mezi znaky (místo toho se ten kurzor lehce deformuje duplikací 8. sloupce na 9., protože se jich prostě vždycky definuje 8, nikdy 9). Bezdeformační varianta by musela přepínat do módu s reálně zobrazovanými 8 sloupci na znak (já mu říkám "EGA mód"). Tam se hranice znaků při přejíždění kurzorem mezi nimi nepozná, kurzor má tvar stále stejný.