Article View: pl.comp.nowe-programy
Article #47Re: Tryby tekstowe PC
From: Qrczak
Date: Sat, 23 Aug 1997 13:22
Date: Sat, 23 Aug 1997 13:22
74 lines
3775 bytes
3775 bytes
Jacek Kosek wrote:
>Jestem początkującym programistą i chciałbym się dowiedzieć jak
>wywołać tryb teksowy który ma więcej niż 25 wierszy a mniej niż 40 nie
>wiem dokładnie ile. Taki tryb ma dos nawigator, znalazłem tryb gdzie
>al=17d, ale wtedy ansi kolorowe mi nie działa.
[Bezczelnie wykorzystam to pytanie do zareklamowania swojich programów na
świeżo powstałej w tym celu grupie. Inne swoje programy opiszę kiedy będę
miał więcej czasu. Followup-To: pl.comp.programming]
Nie w ten sposób robi to Dos Navigator, ale można po prostu załadować font
odpowiedniej wysokości (funkcją 1110h a nie 1100h). Jeśli font ma wysokość
np. 12 pikseli, to ekran będzie miał floor(400/12) = 33 wiersze tekstu.
Problem tylko z tym, jak taki font zrobić.
Pewien mój programik musiał sobie z tym poradzić. Programik ten ładuje fonty
z pliku na ekran i jeśli font nie ma niektórych znaków (mój format fontu ma
taką możliwość), to trzeba w to miejsce wsadzić odpowiedni znak z ROMu. Co
jednak zrobić, jeśli font ma wysokość właśnie 12u pikseli? W ROMie są
tylko fonty wysokości 16, 14 i 8.
Ja w prosty sposób skaluję najbliższy z dostępnych fontów (do wysokości 11
biorę ósemkę, od 12 do 15 - czternastkę, dalej szesnastkę; można to
zmienić opcją programu). Jeśli mam go zwiększyć, to dodaję miejsce u dołu
(literom puste miejsce, a ramki przedłużam). Jeśli mam zwiększyć, to biorę
fragment litery ze środka (z preferencją zabierania więcej od góry w
przypadku nieparzystym).
Jeśli chcę mieć ściśle określoną liczbę logicznych wierszy na ekranie,
to można zminiejszyć bajt 40h:84h pamiętający liczbę wierszy dla BIOSa.
Wspomniany program jest na
http://rainbow.mimuw.edu.pl/~mkowalcz/programy/fonty.html (z doczepionym
konkretnym fontem). Można spróbować:
cp852 /8
cp852 /9
cp852 /10
...
i tak dalej, aż do:
cp852 /64
Liczba oznacza wysokość znaku. Wierszy na ekranie będzie
floor (400 / wysokość-znaku). Można to zmienić opcją /l.
Cp852 wywołane w ten sposób zmieni tylko wysokość fontu posługując się
fontami z ROMu. Żeby bawić się fontem zawartym w tym programie, a nie fontem
z ROMu, uruchom najpierw program FontRez (od tej pory zmiany fontów mojimi
programami będą trwałe), a potem cp852 bez argumentów.
Przy zabawach z wysokościami powyżej 32 lepiej jako pierwszy parametr dać
/z - inicjalizacja trybu.
Polecam zwłaszcza coś takiego:
mode co40
cp852 /d /32
Jeśli chcesz mieć ten program bez doczepionego fontu, to wykonaj:
copy cp852.exe fontekr.exe
q fontekr.exe -
Są jeszcze inne opcje - uruchom "cp852 /?".
Mogę ewentualnie podesłać komuś jakieś źródła do tego (Pascal), ale są
w wielu modułach i bez opisów.
QRCZAK
__("< Marcin Kowalczyk
\__/ mkowalcz@rainbow.mimuw.edu.pl
^^ http://rainbow.mimuw.edu.pl/~mkowalcz/ - tam o ortografji
Technical Details
Message-ID:
<5tov16$23d$5@sunsite.icm.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!polsl.gliwice.pl!uucp-gw.cyf.gov.pl!news.icm.edu.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!polsl.gliwice.pl!uucp-gw.cyf.gov.pl!news.icm.edu.pl!not-for-mail From: "Qrczak" <mkowalcz@rainbow.mimuw.edu.pl> Newsgroups: pl.comp.programming,pl.comp.nowe-programy Subject: Re: Tryby tekstowe PC Followup-To: pl.comp.programming Date: Sat, 23 Aug 1997 15:22:03 +0200 Organization: Qrnik Lines: 75 Message-ID: <5tov16$23d$5@sunsite.icm.edu.pl> NNTP-Posting-Host: ppp2-cst162.warszawa.tpnet.pl Mime-Version: 1.0 X-Newsreader: Microsoft Outlook Express 4.71.1008.3 X-MimeOle: Produced By Microsoft MimeOLE Engine V4.71.1008.3 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit