Problem: Video.c -> Zeilenanzahl
-
Hallo,
ich habe folgendes Problem festgestellt:
Das Scrolling funktioniert nicht richtig; erst wenn man SCROLL_LINE auf 25 setzt, scrollt das System am unteren Rand. Eine Erhöhung der Zeilenanzahl ist wirkungslos.
Eure Statusleiste bleibt mir übrigens verborgen, auch wenn ich SCROLL_LINE auf 23 setze. (Dann sollte sie eigentlich sichtbar werden, oder?!)
Testumgebung: Sun Virtual Box 3.0.12
mfg
Mr. X
-
Wir haben die Zeilenzahl verdoppelt, von 25 auf 50:
;;;;; TEST ;;;;; set 80x50 text mode and 8x8 font mov ax, 0x1112 xor bl, bl int 0x10 ;;;;; TEST
(Code im Bootloader Stage 1)
In Sun Virtuial Box 3.0.10 lief das perfekt.
Falls das aus irgendwelchen Gründen bei dir nicht geht, müsstest Du bei nur 25 Zeilen Anzeige die beiden Konstanten LINES und SCROLL_LINE umstellen auf jeweils 25 Zeilen weniger.Auch die Zeilenangabe k_printf am Ende von ckernel.c
k_printf(DateAndTime, 49, 0xC);
und den drehenden Asterisk (alles auf 24 anstelle 49).
*((uint16_t*)(0xB8000 + 49*160+ 158)) = 0x0C00 | *p;
Dann sollte es auch mit 25 Zeilen gehen.
Screenshot (50 Zeilen): http://www.henkessoft.de/OS_Dev/Bilder/PrettyOS_rev36.PNG
-
OK, jetzt funktionierts.
Interessant wäre natürlich, warum funktioniert es bei mir nicht?
-
Ich verstehe es noch nicht. Wenn ich VirtualBox 3.0.12 auf Windows verwende und von echter Floppy boote, klappt das hervorragend.
-
Ich boote von einem Image.
-
Verwendest Du das mitgelieferte FloppyImage.bin?
http://prettyos.svn.sourceforge.net/viewvc/prettyos/trunk/Source/kernel/FloppyImage.bin?view=markup&pathrev=38Ich habe es damit in VirtualBox ausprobiert. Es zeigt 50 Zeilen, allerdings ist ein "schwerwiegender Fehler" aufgetreten, so dass das Bild eingefroren ist. Keine Ahnung, was die Ursache war. Von echter Floppy läuft es aber, wie bereits ausgeführt.
Ich empfehle qemu, hier die Batch-Datei:
qemu-system-x86_64.exe -usbdevice mouse -fda FloppyImage.bin -boot a -localtime