Thread View: pl.comp.nowe-programy
1 messages
1 total messages
Started by Qrczak
Sat, 23 Aug 1997 13:22
Re: Tryby tekstowe PC
Author: 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
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads