allegro-c "classico" und Windows NT, 2000, XP ff

Thomas Berger ThB at gymel.com
So Feb 23 12:30:07 CET 2003


Liebe Liste,

Windows NT 4.0 und seine Nachfolgebetriebssysteme sind seit 1996
auf dem Markt, inzwischen sind sie in einem gewissen Sinn die
einzigen aktuellen Microsoft-Betriebssysteme, weil der 
"Chicago"-Betriebssystemzweig mit Windows'95, '98, [ME] und
'98 SE nicht mehr weiterentwickelt wird.

Dennoch gibt es haeufiger Anfragen, besonders von "Altanwendern",
ob allegro-Classico unter diesen Betriebssystemen funktioniert.

Ohne Anspruch auf Vollstaendigkeit hier einiges Wissenswertes:

1. "CONFIG.SYS" und "AUTOEXEC.BAT"

a) Diese von DOS bekannte Konfigurationsdateien im Wurzel-
   verzeichnis des Bootlaufwerks gibt es unter Windows NTff
   in dieser Systemweiten Form nicht mehr. Dafuer gibt es
   jedoch in %WINDIR%\system32 Dateien "CONFIG.NT" und
   "AUTOEXEC.NT", die deren Funktion uebernehmen, soweit
   Dos-Boxen (also Fenster mit Kommandointerpreter oder
   MS-DOS-Anwendungen) betroffen sind. 
b) Es empfiehlt sich, in CONFIG.NT zumindest eine Zeile
files=50
   zu ergaenzen (weil sonst in gewissen Konstellationen QRIX.EXE
   evtl. nicht arbeiten mag).
c) Die in CONFIG.NT auskommentierten Setzungen "NTCMDPROMPT"
   und "DOSONLY" sollten nicht aktiviert werden, ausser man
   weiss wirklich, was man tut.
d) Im Prinzip ist es moeglich, einzelnen Anwendungen, die
   von NT als 16-bit-Anwendungen identifiziert werden, separate
   CONFIG.xxx und AUTOEXEC.xxx-Dateien zuzuordnen. Der
   Standard-Kommandointerpreter CMD.EXE ist jedoch keine
   16-bit-Anwendung.


2. "ANSI-Treiber"

a) Dieser ist zumindest seit DOS 6, evtl. sogar schon vorher, 
   nicht mehr in der Standardkonfiguration eines Rechners mit 
   Microsoft-Betriebssystem aktiviert. Es gibt nun prinzipiell
   zwei Moeglichkeiten: Aktivieren des mit dem Betriebssystem
   gelieferten ANSI.SYS in der Konfigurationsdatei CONFIG.SYS
   bzw. CONFIG.NT und Aequivalente bzw. Einsatz eines 3rd-party
   ANSI-Treibers als TSR (d.h. es wird bei Bedarf geladen,
   "Umkonfiguration" nicht notwendig), wie er etwa auch von 
   allegro-C in den Installationspaketen inst-all.exe ab Version
   21 mitgeliefert und von cp.bat auch benutzt wird.
b) Sowohl die ANSI-Treiber von Windows NT ff als auch die
   bekannten 3rd-Party-Treiber unterscheiden sich im 
   Funktionsumfang von dem der Treiber von MS-DOS bzw. Win'9x.
   Dies betrifft vor allem den Anzeigemodus "unsichtbar"
   (wurde von der Disketteninstallation von allegro-C benutzt)
   und die Moeglichkeit, mittels ANSI-Sequenzen die Tastatur
   "umzudefinieren". Demzufolge enthaelt die Steuerdatei
   "OSTWEST.BAT" von allegro-C seit einiger Zeit nicht mehr
   die Sequenzen zur Tastaturumdefinition. Die im Anhang E
   des Systemhandbuchs (auch v22?) in der Tabelle erwaehnten
   Tastenkombinationen Alt-B, Alt-F2 etc. als Shortcuts fuer
   einzelne Zeichen sind daher obsolet (die "Codes", also
   etwa Alt-221, sind hingegen sehr wohl noch relevant und
   als solche eingebbar, uebrigens auch in den Windows-
   Programmen a99 und alcarta).


3. "Vollbildmodus"

   DOS-Applikationen unter Windows-Betriebssystemen lassen
   sich mit Alt-Enter in den Vollbildmodus und wieder zurueck
   in den Fenstermodus schalten. Hierzu sollte man wissen:
a) Beendet man ein Fenster mittels Eingabe von "exit" oder
   aehnlichen Methoden "regulaer" (also *nicht* durch Klick 
   auf das Kreuzchen im oberen Rahmen des Fensters) so merkt
   es sich den Modus fuer den naechsten Aufruf desselben
   Programms
b) Aeltere Windows-Versionen starten DOS-Fenster tendenziell (d.h.
   sofern nicht anders eingestellt, vgl. a) im Vollbildmodus,
   neuere durchweg im Fenstermodus
c) Seit Windows 2000 ist die Standardeinstellung fuer DOS-Fenster
   nicht mehr 80 Zeichen x 25 Zeilen, sondern mehr Zeilen.
   Dies fuehrt im allgemeinen zu keiner brauchbaren Anzeige
   im Vollbildmodus. Ueber die Eigenschaften des Fensters
   muss vor dem Umschalten in den Vollbildmodus sichergestellt
   werden, dass die Fensterdimension (sowohl die sichtbare
   Fenstergroesse als auch die "Fensterpuffergroesse") auf 80x25
   eingestellt ist (auch diese Eigenschaft wird gemerkt)


4. "OSTWEST"-Font

a) Der mittels dem Hilfprogramm FONTLOAD.COM ladbare 
   "Zeichensatz" OSTWEST.FON funktioniert durch Manipulation 
   eines Graphikspeichers, der in allen Windows-Systemen
   nur im Vollbildmodus (Strg-Enter) benutzt wirdt.
b) Unter Windows NT ff gilt zusaetzlich, dass der Aufruf von
   FONTLOAD.COM nur funktioniert, wenn das Fenster *im Moment
   der Ausfuehrung* im Vollbildmodus ist. Dies ist i.A. jedoch
   nur eine Schwierigkeit, falls die Classico-Module per
   Flex aus a99/alcarta heraus aufgerufen werden sollen
   (auch dafuer gibt es Loesungen mittels PIF-Dateien, vgl.
   jedoch d)
c) Das zusaetzliche Hilfsprogramm AW.EXE (Nach Aufruf kann
   mittels der Tastenkombination Alt-W ein Fenster mit dem
   aktuellen Zeichensatz eingeblendet werden) funktioniert unter
   Windows NT ff nicht (immer) von der Kommandozeile aus,
   man sollte sich davon aber nicht beirren lassen, innerhalb
   von x.exe, dem Cockpit oder den Allegro-Modulen funktioniert
   es tadellos (falls es geladen wurde)
d) Seit Version 21.x (November 2001) wird mit dem Komplettpaket
   inst-all.exe von allegro-C eine Windows-Font-Datei A-DOS.FON
   ausgeliefert, diese ist trotz der gleichlautenden Extension
   keine Datei, die mit FONTLOAD.COM benutzbar ist, sondern eine,
   die sich unter Windows mittels des Windows-Mechanismus
   (Administrator-Rechte erforderlich!) als Font installieren 
   laesst. Nach Installation von A-DOS.FON hat man in DOS-Boxen
   drei zusaetzliche Zeichengressen (8x13, 10x19, 12x23), wovon
   die ersten beiden den OSTWEST-Zeichensatz realisieren.



Fazit: Eine hinreichend neue Installation von allegro-C
vorausgesetzt, ist folgendes der einfachste Weg, um mit
den "Classico"-Programmen unter Windows NT ff zu arbeiten:

Installation / Vorbereitung an jedem Arbeitsplatz:
1. (Als Adminstrator): Installation von a-dos.fon
2. (Als Administrator, evtl. nur bei Indexierungsproblemen):
    Ergaenzen von files=50 in config.nt

Betrieb:
3. (Als Anwender): Moeglichst stets im Fenstermodus arbeiten, 
   Zeichengroesse 8x13 oder 10x19. Bei Arbeit im Vollbildmodus
   darauf auchten, dass das Fenster bereits im Vollbildmodus
   gestartet wurde, dies ist am einfachsten dadurch zu
   bewerkstelligen, dass man es in der vorigen Sitzung im
   Vollbildmodus beendet hatte.

"Hinreichend neue Installation" bedeutet dabei folgendes:
- A-DOS.FON und ANSI.COM aus aktuellen Distributionen von 
  allegro-C werden benoetigt.
- Die (evtl. eigenen) Aufrufe der allegro-Programme sind in 
  Anlehnung an die aktuelle Version des Cockpit-Aufrufs CP.BAT
  so gestaltet, dass sie ANSI.COM und AW.EXE aufrufen und auch 
fontload < ostwest.fon
  Alles ggfls. mit geeigneten Pfaden, also etwa

...
Umgebungsvariable -P auf allegro Programmvezreichnis gesetzt
...
%-P%\ansi.com
%-P%\fontload < %-P%\ostwest.fon
%-P%\aw


viele Gruesse
Thomas Berger




Mehr Informationen über die Mailingliste Allegro