Discussion:
Ansi.sys unter Windows XP
(zu alt für eine Antwort)
F-J.Raabe
2007-10-05 20:25:08 UTC
Permalink
Hallo,
mein Problem sind DOS-Programme mit ANSI-Ausgabe (selbst in Fortran
erstellt), die unter Win 98 noch liefen, aber unter XP nicht. Die
Escape-Sequenzen werden einfach nur als Klartext ausgegeben und nicht
zur Positionsbestimmung auf dem Bildschirm umgesetzt.

Über XP-Hilfe und diversen Suchergebnissen dieser Usegroup habe ich
zwar begriffen, dass ich in c:\windows\system32\config.nt die Zeile
"device=c:\windows\system32\ansi.sys" eingeben muss.
Diese config.sys habe ich sowohl im Verzeichnis c:\windows\system32
stehen lassen, als auch in die Root c:\ kopiert.
Weiter habe ich sowohl cmd.exe als auch command.exe aufgerufen,
jeweils mit oder ohne den Parameter /a,
Hat alles nichts gebracht.
Kennt jemand das Problem?
MfG
Franz-Josef Raabe
Olaf Schinkel
2007-10-06 08:22:12 UTC
Permalink
Hallo!

"F-J.Raabe" <F-***@t-online.de> schrieb im Newsbeitrag news:***@22g2000hsm.googlegroups.com...
Hallo,
mein Problem sind DOS-Programme mit ANSI-Ausgabe (selbst in Fortran
erstellt), die unter Win 98 noch liefen, aber unter XP nicht. Die
Escape-Sequenzen werden einfach nur als Klartext ausgegeben und nicht
zur Positionsbestimmung auf dem Bildschirm umgesetzt.

Über XP-Hilfe und diversen Suchergebnissen dieser Usegroup habe ich
zwar begriffen, dass ich in c:\windows\system32\config.nt die Zeile
"device=c:\windows\system32\ansi.sys" eingeben muss.
Diese config.sys habe ich sowohl im Verzeichnis c:\windows\system32
stehen lassen, als auch in die Root c:\ kopiert.
Weiter habe ich sowohl cmd.exe als auch command.exe aufgerufen,
jeweils mit oder ohne den Parameter /a,
Hat alles nichts gebracht.
Kennt jemand das Problem?


Nein, dein Problem kenne ich nicht.
Aber...wie wäre es, eine kostenlosen Fortan Compiler für XP zu besorgen
und die Programme
dann damit laufen zu lassen?
OK, nur eine Idee.


Olaf
Gabriele Neukam
2007-10-06 16:36:23 UTC
Permalink
Aber...wie wäre es, eine kostenlosen Fortan Compiler für XP zu besorgen und
die Programme
dann damit laufen zu lassen?
Die ANSI-Escape-Sequenzen haben an sich nichts mit Fortran zu tun; er
wollte nur damit ein Eingabeschema für den Bildschirm entwickeln, das
ANSI-Befehle zur Positionierung nutzt. ANSI ist ein Mittelding aus
Bildschirm- und Keyboardtreiber, der lange gute Dienste tat.

Ein Compiler ändert an dem Problem nichts, dass der ANSI-Treiber erst
mal eingebunden werden muss bis das Ganze läuft. Das ging einfach
solange ein 16-Bit-Unterbau für Windows existierte, aber die
NT-Derivate sind komplett 32bit, und da hat ein solcher Treiber im
*Autostart* (CONFIG.SYS) keinen Platz mehr.

Vielleicht hilft der Workaround, den ich googlen konnte:

http://www.wintotal.de/Tipps/Eintrag.php?RBID=2&TID=644&URBID=11

Allerdings bedeutet das, dass man diesen Würgaround auch auf jeder
Maschine einrichten müsste, auf der das fertige Programm installiert
wird, oder?


Gabriele Neukam

***@t-online.de
--
Ah, Information. A property, too valuable these days, to give it away,
just so, at no cost.
F-J.Raabe
2007-10-06 17:45:43 UTC
Permalink
Post by Gabriele Neukam
Ein Compiler ändert an dem Problem nichts, dass der ANSI-Treiber erst
mal eingebunden werden muss bis das Ganze läuft. Das ging einfach
solange ein 16-Bit-Unterbau für Windows existierte, aber die
NT-Derivate sind komplett 32bit, und da hat ein solcher Treiber im
*Autostart* (CONFIG.SYS) keinen Platz mehr.
http://www.wintotal.de/Tipps/Eintrag.php?RBID=2&TID=644&URBID=11
Aha, der ANSI-Treiber läuft also nur, wenn auch "dosonly" angegeben
wird, Beim Ausprobieren mit "type" einer ANSI-Ausgabedatei klappt es
auch. Dieser Zusammenhang von ANSI.sys mit 16bit Anwendungen war mir
nicht klar.

Da ich meine Fortrananwendungen wegen Speicherbedarf inzwischen als 32-
bit-Anwendungen kompilieren muss, kann ich diese ausserordentlich
bequeme Fullscreen-Ausgabe dann wohl leider nicht mehr unter XP
verwenden.

Vielen Dank für die klärende Hilfe,

Franz Josef Raabe
Detlev Dreyer
2007-10-06 17:40:16 UTC
Permalink
Post by F-J.Raabe
mein Problem sind DOS-Programme mit ANSI-Ausgabe (selbst in Fortran
erstellt), die unter Win 98 noch liefen, aber unter XP nicht. Die
Escape-Sequenzen werden einfach nur als Klartext ausgegeben und nicht
zur Positionsbestimmung auf dem Bildschirm umgesetzt.
Über XP-Hilfe und diversen Suchergebnissen dieser Usegroup habe ich
zwar begriffen, dass ich in c:\windows\system32\config.nt die Zeile
"device=c:\windows\system32\ansi.sys" eingeben muss.
Und was genau hält dich jetzt davon ab?
Post by F-J.Raabe
Diese config.sys habe ich sowohl im Verzeichnis c:\windows\system32
stehen lassen, als auch in die Root c:\ kopiert.
Und was soll das? Merke: CONFIG.NT != CONFIG.SYS
Post by F-J.Raabe
Kennt jemand das Problem?
Nö. Das ist überhaupt kein Problem, wenn die Datei
%windir%\System32\CONFIG.NT (und keine andere!)
hinter den Remarks (REM Zeilen) z.B. den folgenden Inhalt hat:

EMM=RAM
DOS=HIGH,UMB
DEVICE=%SystemRoot%\System32\HIMEM.SYS
DEVICEHIGH=%SystemRoot%\System32\ANSI.SYS /x
COUNTRY=049,850,C:\Windows\System32\COUNTRY.SYS
LASTDRIVE=Z
FILES=40

Den Rechner danach neu starten.
--
d-d
F-J.Raabe
2007-10-06 18:18:13 UTC
Permalink
Post by Detlev Dreyer
%windir%\System32\CONFIG.NT (und keine andere!)
EMM=RAM
DOS=HIGH,UMB
DEVICE=%SystemRoot%\System32\HIMEM.SYS
DEVICEHIGH=%SystemRoot%\System32\ANSI.SYS /x
COUNTRY=049,850,C:\Windows\System32\COUNTRY.SYS
LASTDRIVE=Z
FILES=40
Den Rechner danach neu starten.
Genau das hatte ich nach der XP-Hilfe und Google-Suche gemacht. Mein
Test war "type" einer Datei, die ANSI-Sequenzen enthielt, kam aber
immer nur Klartext. Eine echte 16-bit-DOS-Anwendung hatte ich
allerdings nie ausprobiert. Wenn ich nach Tipp von Gabriele "dosonly"
einfüge, klappt es mit "type", hilft mir bei meinen eigenen 32-bit-
Programmen leider nicht weiter.

Franz Josef Raabe
Detlev Dreyer
2007-10-06 20:12:49 UTC
Permalink
Post by F-J.Raabe
Genau das hatte ich nach der XP-Hilfe und Google-Suche gemacht. Mein
Test war "type" einer Datei, die ANSI-Sequenzen enthielt, kam aber
immer nur Klartext. Eine echte 16-bit-DOS-Anwendung hatte ich
allerdings nie ausprobiert. Wenn ich nach Tipp von Gabriele "dosonly"
einfüge, klappt es mit "type", hilft mir bei meinen eigenen 32-bit-
Programmen leider nicht weiter.
32-bit Programme ohne GUI sind Konsolenprogramme und keine MSDOS-
Programme, von denen in deinem Ursprungsposting noch die Rede war.
Und deshalb klappt das auch nicht.
--
d-d
Loading...