Ist ANSI.SYS installiert?

Farbige Bildschirmausgaben und eigene Tastaturbelegungen werden häufig erst mit dem Konsolentreiber ANSI.SYS möglich. Wenn Sie Programme, schreiben, die von ANSI.SYS abhängig sind, ist eine Möglichkeit, das Vorhandensein des Treibers zu prüfen, von großer Nützlichkeit. ISANSI.DEB überprüft, ob überhaupt ein zusätzlicher Konsolentreiber installiert ist, der übrigens nicht unbedingt ANSI.SYS heißen muß, und übergibt das Ergebnis im Errorlevel. Das Programm checkt über eine Information im DOS-Info-Block, an welcher Adresse im Speicher der aktive Konsolentreiber steht. Nachträglich über die CONFIG.SYS installierte Einheiten wie ANSI.SYS befinden sich stets bei Offset 0, während DOS die Standardtreiber, die sich in der Systemdatei IBMBIO.SYS bzw. IO.SYS befinden, beim Booten automatisch an einem Stück in den Speicher lädt. Dadurch beginnen alle darin enthaltenen Einheitentreiber bis auf den ersten an einem Offset ungleich 0. Weil der Standard-Konsolentreiber aber nie die erste Einheit in dieser Datei ist, kann ISANSI diese Offsetadresse bequem als Unterscheidungskriterium heranziehen. ISANSI spricht daher auch auf die häufig verwendeten, gegenüber ANSI.SYS verbesserten Konsolentreiber wie FANSI.SYS, ZANSI.SYS oder TANSI.SYS an, die auch oftmals bei EGA- oder VGA-Karen mitgeliefert werden.

Name: ISANSI.DEB
Funktion: Überprüft, ob ANSI.SYS oder ein ähnlicher Einheiten- treiber installiert ist.
Übersetzung: DEBUG <ISANSI.DEB
Prüfsumme: 2B1F
Anwendung: ISANSIIF ERRORLEVEL # 1 = ANSI.SYS ist nicht installiert

0 = ANSI.SYS ist installiert

Einschränkungen: ./.
A
MOV AH,52           ;100
INT 21              ;102
ES:MOV AX,[BX+C]    ;104
OR AL,AH            ;108
MOV AH,4C           ;10A
INT 21              ;10C

RCX
E
NISANSI.COM
W
Q

Quelle: 200 Utilities für PC-/MS-DOS von Gerhard Schild und Thomas Jannot