Auflösung der Textdarstellung erhöhen
-
Eine Begrenzung stellt die niedrige Auflösung der Textausgabe von 80 Spalten * 25 Zeilen dar.
Folgende Versuche wurden im Bootloader Stage 1 (boot.asm) in Zusammenarbeit (IRC #PrettyOS vom 30./31.Okt.) durchgeführt:
- 132*60 hat nicht funktioniert, wurde nach wie vor 80*25 angezeigt:
;;;;; TEST ;;;;; 132*60 VESA Text Output mov ax, 0x4F02 mov bx, 0x010C ; 132*60 int 0x10 ;;;;; TEST ---> does not work; where is vid mem?
Hat hier jemand einen Hinweis, wie man diese Textdarstellung in Funktion bringt?
- 80*50 hat funktioniert: http://www.henkessoft.de/OS_Dev/Bilder/Video_80x50.PNG
;;;;; TEST ;;;;; set 80x50 text mode and 8x8 font mov ax, 0x1112 xor bl, bl int 0x10 ;;;;; TEST
Bitte mal an folgender Stelle in boot.asm einbauen und testen:
mov [bootdevice], dl ; store boot device mov si, msgLoading call print_string ;;;;; TEST ;;;;; set 80x50 text mode and 8x8 font mov ax, 0x1112 xor bl, bl int 0x10 ;;;;; TEST Load_Root_Directory_Table:
Wenn es überall funktioniert, könnten wir das als Standard verwenden und die Zeilenzahl in video.c entsprechend von 25 auf 50 umsetzen.
Das wäre für die Ausgabe von PCI-Daten etc. sehr hilfreich.
Links:
http://www.ctyme.com/intr/int-10.htm
http://t0ast3r.t0.ohost.de/know how/vesa.doc
http://files.osdev.org/mirrors/geezer/software/90x60.asm
-
Läuft soweit.
-
Auf unserem SVN: Neue Version 5 (bei mir: 111) http://www.henkessoft.de/OS_Dev/Downloads/111.zip (wer mit SVN nicht klar kommt)
Ich habe video.c mit den Konstanten COLUMNS und LINES versorgt, sodass man dort nun variabel arbeiten kann. Ich habe dort 80*50 eingestellt und im Bootloader Stage 1 den Code: mov ax, 0x1112 xor bl, bl int 0x10 eingefügt.
Eine 1st Floppy Erkennung mittels Lesen aus CMOS ist ebenfalls dabei (neu: cmos.h/cmos.c). Nur wenn eine 1.44 MB Floppy Disk direkt angeschlossen ist, wird der Floppy-Treiber und der DMA-Puffer aktiviert, so dass man auf/von Floppy mit dem Floppy-Treiber schreiben/lesen kann. Da werde ich in der shell noch ein 'dirfl' (directory floppy) einbauen.
Deutsche Tastatur ist standard-mäßig installiert (umstellen in os.h per #define).
Umlaute, ß und einige Zeichen gehen noch nicht.