Programmieren - alles kontrollieren 4.936 Themen, 20.625 Beiträge

Grafikspeicher

JamesBomb / 3 Antworten / Flachansicht Nickles

Hi. Welche Werte muss ich in den Grafikspeicher schreiben, und wohin, um Zeichen usw. auszugeben? ZB. mov word [gs:0], 0x741 schreibt A oben links auf den Moni. Welche Werte muss ich schreiben um zB. ein B auszugeben, an eine beliebige Stelle?

bei Antwort benachrichtigen
Andreas42 JamesBomb „Grafikspeicher“
Optionen

Hi JamesBomb!

Hmm, direktes Schreiben in den Textmode Speicher. Das sind Dinge die so schön ausführlich in den alten PC-Intern Büchern von Data Becker beschrieben waren.

Wenn ich mich nicht irre, sind das 80*25 zeichen im Normalem Textmode (bei VGA/EGA-Karten). Jedes Zeichen belegt zwei Bytes. Das erste den Zeichncode (ASCII?) das zweite ist das Formatierungsbyte. Die Adressierung müsste fortlaufend sein also sollte gs:0+80*2 das erste Zeichen in der zweiten Zeile sein.

(Ich hab' das gerade nochmal in PC Intern 4 nachgeschlagen.)

Die Umrechnung sieht wohl so aus: du hast den Hexwert 741h geschrieben.
Das niederwertige Byte 41h enthält den Zeichencode (=65 = "A", hier gilt der ASCII-Code, "B" wäre 65, also 42h).
Im Hoherwertigen Byte steht bei VGA-Textmodes die Farbe drin. Davon geben die höherwertigen vier Bits die Hintergrunffarbe an (bei dir =0) und die niederwertigen die Zeichenfarbe (= 7).

Wenn du noch Fragen hast, dann melde dich. PC Intern 4 gab's auch auf CD. Ich müsste die eigentlich noch irgendwo haben...

Bis denn
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen