[Low-Level C] Caret-Position ändern.
-
Hallo Zusammen.
Ich bin gerade dabei, ein eigenes OS in C zu entwickeln. (Nachdem ich diesen Thread: http://www.c-plusplus.net/forum/viewtopic-var-t-is-236354-and-postdays-is-0-and-postorder-is-asc-and-start-is-530.html gelesen habe und endlich gerafft habe wie man einen Keyboard-Treiber schreibt, geht's auch gut voran)
Meine Frage ist nun:
Wie kann ich in low-level C die Caret Position verändern?
Denn nachdem ich in den Protected-Mode wechsel, werden noch ein-zwei Zeilen ausgeben und somit auch das Caret/der Cursor verschoben. Endgültig und unveränderlich. Ich wollte es erst mit dem Interrupt 0x10 lösen und an die Stelle 80,25 verschieben, dann sieht man es nicht mehr, aber das klappt ja im PM-Mode nicht mehr.Also würde eine Methode in C besser sein.
Aber WIE?
-
Problem gelöst:
/** * Setzt den Cursor neu * @param x Horizontale Position * @param y Vertikale Position */ void setCursor(int x,int y) { unsigned int ucCursorPos = x + y * 80; outportb(0x3D4, 15); outportb(0x3D5, ucCursorPos); outportb(0x3D4, 14); outportb(0x3D5, ucCursorPos >> 8); }