Lowlevel
Lowlevel => Lowlevel-Coding => Thema gestartet von: [MM] am 27. July 2006, 01:53
-
Hallo, im Textmodus ist es ja möglich übder die Anzahl der Scanlines (Index 0x9 des Ports 0x3D5) die Maximale Anzahl an Scan-Lines zu setzen (von 0-31), wobei 15 der Standard ist bei 80x25 und bei 80x50 dies einfach auf 7 gekürzt wird. Ist es möglich auch die Breite eines Zeichens zu verändern?
Und wo wir schonmal dabei sind: Gibt es eigentlich einen 160x? Textmodus, oder wird das (bei Linux zB) einfach im Grafikmodus gemacht (was sehr warscheinlich ist, da man sonst beim Booten in der Konsole keinen lustigen Pinguin sehen könnte...)?
-
hallo,
also so wie ich das bei dir lese willst wohl einen schöneren modus als den textmode... mach dir nicht weiter gedanken über textmode, sondern wechsel in den graphicmode und guck, dass du dort etwas auf den bildschirm bekommst... linux schaltet in den graphic modus ... ja
cheebi
-
Naja, ich bin eigentlich schon mehr interessiert am Textmodus und habe mich einfach gefragt, ob man nicht die Zeichenbreite von 8 Pixeln irgendwie auch ändern kann (hab ich aber auch noch nirgends gesehen).
-
Zeichensatz laden:
Eingabe: AH = 11h AL = 00h BH = Byte pro Zeichen BL = Zeichentabelle ( 0 oder 1 ) CX = Zeichenzahl
DX = ASCII-Code des ersten Zeichens ES = Segmentadresse der Zeichentabelle BP = Offsetadresse der Zeichentabelle
( Zeichensatz wird in Grafikspeicher der Videokarte geladen, nicht aktiviert, Größe der Zeichen nicht der Bildschirmdarstellung angepaßt )
Ausgabe: keine
8x14-Zeichensatz laden:
Eingabe: AH = 11h AL = 01h BL = Zeichentabelle
( Zeichensatz wird geladen, nicht aktiviert )
Ausgabe: keine
8x8-Zeichensatz laden:
Eingabe: AH = 11h AL = 02h BL = Zeichentabelle
Ausgabe: keine
Zeichensatz aktivieren:
Eingabe: AH = 11h AL = 03h BL = Nummer des Zeichensatzes
Ausgabe: keine
>8x16-Zeichensatz laden:
Eingabe: AH = 11h AL = 04h BL = Zeichentabelle
Ausgabe: keine
Zeichensatz laden und aktivieren:
Eingabe: AH = 11h AL = 10h BH = Byte pro Zeichen BL = Zeichentabelle ( 0 oder 1 ) CX = Zeichenzahl
DX = ASCII-Code des ersten Zeichens ES = Segmentadresse der Zeichentabelle BP = Offsetadresse der Zeichentabelle
( Zeichensatz wird in Videokarten-Speicher geladen, aktiviert und Zeichengröße der Bildschirmdarstellung angepaßt )
Ausgabe: keine
8x14-Zeichensatz aktivieren:
Eingabe: AH = 11h AL = 11h BL = Zeichentabelle ( lädt und aktiviert Zeichensatz )
Ausgabe: keine
8x8-Zeichensatz aktivieren:
Eingabe: AH = 11h AL = 12h BL = Zeichentabelle
Ausgabe: keine
8x16-Zeichensatz aktivieren:
Eingabe: AH = 11h AL = 14h BL = Zeichentabelle
Ausgabe: keine
bitmaster
-
Also wenn ich mich richtig erinnere bietet VESA einige 132x? und 160x?-Modi an. Die 132er Modi (132x25, 132x43, 132x50, 132x60) haben die Nummern 0x109 bis 0x10c.Welche Nummern die 160er haben weiss ich nicht.
-
@bitmaster: Die sind aber auch alle nur 8x?, wobei man das ? über das Einstellen der Scanlines frei zwischen 1 und 31 einstellen kann, wenn man keine Interrupts benutzt, sondern das per Ports macht.