Teil 4 - Ausgabe von farbigen Zeichen, Cursor Position holen und setzen, Messen von vergangener Zeit (5 Sekunden) und Schleifendurchläufe
Hier hat mich doch glatt die Liste von Ralph Brown (BIOS und DOS Interrupt List) auf's Glatteis geführt.
Denn dort wird der Video-Interrupt 10h mit der Funktion 0Eh zur Ausgabe von farbigen Zeichen falsch beschrieben !
Die besagte Funktion 0Eh kann nur im Grafik-Modus Zeichen farbig ausgeben, befindet man sich im Textmodus, bleibt alles monochrom.
Die Ausgabe der Schleifendurchläufe ist mit der aus den früheren Beispielen bereits bekannten Ausgaberoute (print) gemacht worden.
Die Zeitmessung geschieht durch den Vergleich des Ticks Wert an Stelle 0040:006C , der Timer läuft nämlich weiter solange keine Interrupts gesperrt sind.
Die im Programm abgewarteten 91 Ticks sind genau 5 Sekunden (ein Tick ist 1/18.2 Sekunden lang).
Die Ausgabe alteriert drei Zeichen immer im Wechsel, außerdem alle 16 Farben.
Ob das Programm auch mit einer Monochrom-Video-Karte läuft, habe ich nicht ausprobiert.
Da aber nicht in den Videospeicher direkt reingeschrieben wird, könnte es trotzdem klappen.
Im ZIP ist wieder die Quelldatei, das fertige ausführbare Programm und die kleine Batchdatei zum Erstellen drin.
Interessant ist folgendes: PCem ist mit einem emulierten Pentium MMX 233 schneller als die DOSBOX. Scheinbar hat die DOSBOX einen Zwischenspeicher nur für eine begrenzte Menge an Zeichenausgaben, beim Überschreiten der Menge wird DOSBOX recht langsam. Ein echter Rechner verhält sich da definitiv anders, PCem macht das (auch) besser.