Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: Cjreek am 06. July 2010, 13:39

Titel: CGA - 65x25 Textmodus?
Beitrag von: Cjreek am 06. July 2010, 13:39
Hallo,

Ich spiele gerade mal (aus Langeweile) mit den CGA-Registern etc rum. Will mich da mal ein bisschen vertraut machen.

Jetzt habe ich sowas wie einen 65x25 Textmodus aktiviert.. o.O Habe von sowas noch nie gelesen.
Ich bin mir (fast) sicher dass ich irgendwelchen Unfug treibe, aber interessant finde ich es jetzt schon.

(http://www4.pic-upload.de/06.07.10/wysd9pkd3j77.jpg)

Hier mein Code: http://pastebin.com/7S6cPqeP

(Man muss vorher die Register 0-7 mit "disable_vga_protection" beschreibbar machen.. dazu gibt es im Register 17 ein Bit welches das steuert)

EDIT: Wobei ich gerade bemerke dass meine übergebenen Werte ziemlicher Schwachsinn sind.
Aber meine Frage steht immernoch.

Weiß jemand was da passiert?^^

Gruß
Cjreek
Titel: Re:CGA - 65x25 Textmodus?
Beitrag von: Jidder am 06. July 2010, 20:13
Hi,

vielleicht erklärt das osdev.org-Wiki (http://wiki.osdev.org/VGA_Hardware#Timing_Model) das, was du wissen willst. Ansonsten kannst du auch versuchen das, was QEMU macht, in der Funktion vga_precise_update_retrace_info (http://git.savannah.gnu.org/gitweb/?p=qemu.git;a=blob;f=hw/vga.c;h=b5c7ee7fe312578edccd5495f1b00fd054a10821;hb=HEAD#l161) nachvollziehen.