[ Zurück zur Startseite "DOS für Spiele" ] |
Die beiden Startdateien config.sys und autoexec.bat sind unter DOS (nicht für Windows!) lebenswichtig. Durch diese Dateien wird der PC konfiguriert und die Speicherverwaltung aktiviert. DOS-Gerätetreiber müssen in eine dieser Dateien eingebunden werden. Doch zuerst einige Details zur Speicherbelegung unter DOS.
Die Speicherbelegung unter DOS
Mem und Memmaker
DOS-Fenster, Rückfallmodus oder reiner DOS-Modus
Die Config.sys
Beispiel für eine Autoexec.bat
Sysedit - ein Vorschlag zur Arbeitserleichterung
Normalerweise begnügen sich DOS-Programme in der Regel mit weniger als 640 KB Arbeitsspeicher. Teilweise sogar mit weit weniger. Für heutige Verhältnisse ist das unvorstellbar wenig. Die Speicherbelegung von DOS zeige ich Ihnen in dieser Grafik. Nur zur Übersicht, nicht auswendig lernen.
conventional memory konventioneller Speicher | UMB upper
memory blocks oberer Speicher |
XMS extended
memory specification erweiterter Speicher |
||
insgesamt 640 KB | 384 KB
6 sogenannte Speicherblöcke |
|
||
DOS, Anwendungsprogramme, Daten, bestimmte Gerätetreiber | tlw. schon belegt: Grafikkarte, ROM des PCs, Netzwerkkarte etc. | wird von etlichen DOS-Programmen benötigt |
Entscheidend ist hier der blaue sogenannte konventionelle Speicher. Das ist also der Raum für klassische DOS-Programme. Am Anfang (Beginn der 80er Jahre) war der Platz ausreichend. Doch je weiter die Entwicklung fortschritt, desto enger wurde es in diesem Bereich. Erstens: DOS brauchte diesen Raum (immer schon) für sich. Das ist zwar nicht viel, macht sich aber gerade bei speicherhungrigen Spielen bemerkbar. Mehr noch: etliche Treiber drängeln sich hier ebenfalls noch hinein.
Jetzt kommt der Haken: Manche Spiele benötigen ausgerechnet in diesem Speicherbereich jedes Byte. Zwar ist oberhalb der 1 MB-Grenze alles frei. Doch damit können diese Exoten überhaupt nichts anfangen.
Lösungen: Erstens: cleveres Speichermanagement. Durch verschiedenste Tricks wird Erweiterungsspeicher zur Verfügung gestellt.
Zweitens: DOS zieht um, zum größten Teil in den hohen Speicherbereich (grün).
Drittens: Etliche Treiber werden in den oberen Speicher geladen.
Ich will nicht zu tief ins Detail gehen. Fakt ist: Sie benötigen Speicherverwalter wie HIMEM, EMM386 und Befehle wie HIGH, UMB, devicehigh usw. Memmaker macht vieles einfacher, dazu mehr etwas weiter unten.
Das Spiel lief sicher nicht im DOS-Fenster, sonst wären Sie nicht hier. Warum? Im DOS-Fenster können höchsten 600 KB konventioneller Speicher bereitgestellt werden. Zu wenig für manches Spiel.
Vielleicht haben Sie auch den Rückfallmodus probiert, wie im Buch und im Kapitel DOS-widanja - ein kleiner DOS-Kurs gezeigt. Das kann schon einige Vorteile bringen. Vor allem lassen sich so jedem Spiel individuelle Ressourcen zuweisen.
Es hat aber auch Nachteile! Ich finde die amerikanische Tastaturbelegung einfach störend. Natürlich kann man alles per Hand editieren, doch ist das zeitraubend. Noch ein Nachteil dieser und leider auch der nächsten Methode: Für Maus, Soundkarte, CD-Laufwerk usw. müssen erst die entsprechenden DOS-Treiber eingebunden werden. Dazu mehr weiter unten.
Jetzt empfehle ich Ihnen aber etwas Neues, den reinen DOS-Modus gleich nach dem Starten. Hier mischt Windows überhaupt nicht mehr mit und Sie können das Letzte für Ihr Spiel herauskitzeln. Merkwürdigerweise startet hier DOS gleich mit der deutschen Tastaturbelegung. Allerdings müssen Sie die gewünschten DOS-Treiber (Maus etc.) trotzdem von Hand einbinden. Aber die entsprechenden Dateien lassen sich bequem mit edit config.sys oder edit autoexec.bat unter DOS bearbeiten.
Fahren Sie Windows komplett herunter. Starten Sie den PC erneut, halten Sie beim Starten die Taste Strg gedrückt. Ein Bootmenü erscheint. Wählen Sie hier Nur Eingabeaufforderung, beispielsweise durch Tippen der entsprechenden Nummer und OK. Nun sind Sie im reinen DOS-Modus, ohne ein Quentchen Windows im Speicher. (Ja wirklich, das macht 3 KByte aus!) |
Sie können zuerst einmal wunderbar kontrollieren, ob der konventionelle Speicher für Ihr Spiel ausreicht. Tippen Sie am DOS-Prompt den Befehl
mem |
Interessant ist hier der Eintrag: maximale Größe für ausführbares Programm. Je größer, desto besser.
Und nun würden Sie sich viel Arbeit erleichtern, wenn Sie das Programm Memmaker noch besäßen. Dieser clevere Speichermanager war bei DOS 6.22 dabei, sogar auf der alten Win95-CD konnte er noch in irgendeinem Unterordner gefunden werden. Bei Windows 98 schauen Sie dagegen in die Röhre.
Memmaker können Sie von der Seite ftp://ftp.microsoft.com/softlib/mslfiles herunterladen. Klicken Sie auf die Datei olddos.exe, das ist ein selbstextrahierendes Archiv. Siehe auch den Hinweiskasten auf der Seite DOS-widanja
Achten Sie beim Herunterladen darauf, daß Sie diese Datei in einen eigenen Ordner laden. Doppelklicken Sie dann auf die olddos.exe, die einzelnen Dateien packen sich selber aus. Hurra - da ist dann auch die memmaker.exe dabei!!!
1. Kopieren Sie die Datei memmaker.exe beispielsweise in Ihr Stammverzeichnis.
2. Gehen Sie in den reinen DOS-Modus (Computer anschalten, Strg gedrückthalten, Bootmenü, Nur Eingabeaufforderung).
3. Tippen Sie memmaker am DOS-Prompt.
4. Folgen Sie den Anweisungen. DOS wird neu gestartet.
5. Vergessen Sie nicht, wieder Strg gedrückt zu halten, Bootmenü, Nur Eingabeaufforderung usw.
6. In Endeffekt hat das Programm Ihr System analysiert und durch Optimierung der Einträge in der autoexec.bat und config.sys mehr konventionellen Speicher für Ihr Spiel frei gemacht.
(Im Kapitel Bootgeheimnisse zeige ich Ihnen, wie Sie Ihr Bootmenü komfortabler einrichten.)
Die config.sys dient zur Konfiguration des PCs. Hier wird die Ländereinstellung festgelegt. Gerätetreiber (Maus, Soundkarte) lassen sich hier einbinden. Ganz wichtig: in der Config.sys treten verschiedene Speichermanager auf den Plan. Und darum geht es uns zuerst, die ersten drei Zeilen können den das Nichtvorhandensein von memmaker ausgleichen, wenn Sie sie so abtippen. Ganz wichtig ist die Reihenfolge der ersten drei Zeilen! Falls Sie schon perfekt organisierte Startdateien besitzen, ergänzen Sie lediglich fehlende Zeilen, beispielsweise zum Einbinden der Maus.
device=c:\windows\himem.sys | Der allgemeine Speichermanager, dieser Eintrag muß - wenn vorhanden - an allererster Stelle stehen. Er ermöglicht u.a. die Nutzung des erweiterten Speicherbereichs (ab 1 MB) |
device=c:\windows\emm386.exe noems | Der erweiterte Speichermanager, er wird immer dann benötigt, wenn ein Programm nach Expansionsspeicher (EMS) hungert. Expansionsspeicher heißt, daß das Programm im oberen Speicherbereich (über 640 KB, aber noch unter 1 MB) freie "Fleckchen" (memory blocks) findet. Mit noems wird zusätzlich das Simulieren von Expansionsspeicher im erweiterten Speicherbereich unterdrückt, das bringt mehr Punkte für Ihr Spiel. |
dos=high,umb | Lädt DOS selbst in den hohen Speicherbereich (high), damit sind die ersten 64 KB des erweiterten Speichers gemeint. Damit wird ebenfalls mehr Platz geschaffen. Mit UMB ist gemeint, daß zu DOS gehörige Treiber und Hilfsprogramme im oberen Speicher abgeladen werden. |
device=C:\mouse\imouse.sys | So bindet man einen Treiber ein (device=Pfad\Treiber.sys).
Hier ist es ein 16-Bit-Maustreiber von einer alten Diskette, die der Maus
beilag. Ich habe die Datei imouse.sys in ein eigenes Verzeichnis kopiert
und im Pfad darauf verwiesen. Dummerweise werden die Mäuse heutzutage
ohne alte Treiber ausgeliefert. Ärgerlich! Wieder der Hinweis auf den
Bekannten, wenn Sie Ihre Maus noch unter DOS nutzen möchten. |
devicehigh=C:\WINDOWS\COMMAND\display.sys con=(ega,,1) | Diese Zeile beinhaltet den Bildschirmtreiber, er wurde gleich in den hohen Speicherbereich geladen (devicehigh). |
Country=049,850,C:\WINDOWS\COMMAND\country.sys | Diese Zeile kümmert sich um die länderspezifischen Einstellungen. Achtung! In der autoexec.bat müssen ebenfalls länderspezifische Einstellungen vorgenommen werden! Dazu gleich mehr. |
devicehigh=C:\WINDOWS\COMMAND\EBD\oakcdrom.sys /D:OEMCD001 | Der Treiber für das CD-ROM-Laufwerk. Von Windows wird freundlicherweise ein Universaltreiber in diesem Verzeichnis zur Verfügung gestellt. Ansonsten können Sie auch die Sys-Datei von der Diskette Ihres Laufwerkes einbinden. Klappt nicht? Auf der Startdiskette von Windows 98 sind etliche Sys-Dateien drauf, eine macht es bestimmt. Achtung! In der autoexec.bat muß mscdex.exe eingebunden werden. |
devicehigh=C:\PROGRA~1\CREATIVE\CTSND\DRV\CTSB16.SYS
/UNIT=0 /WIN95 /BLASTER=A:220 I:5 D:1 H:5 devicehigh=C:\PROGRA~1\CREATIVE\CTSND\DRV\CTMMSYS.SYS |
In der Regel bindet sich Ihre Soundkarte beim Installieren automatisch in die config.sys und autoexec.bat ein. Falls nicht, folgen Sie bitte den Anleitungen zu Ihrer Soundkarte. Tip: Mit einer ganz alten Soundblaster (nicht Plug & Play) haben Sie am wenigsten Ärger, die läuft sogar ohne jegliche Einträge in den Startdateien! |
Auch über die autoexec.bat werden spezielle Betriebssystembefehle automatisch während des Startens eingebunden. Schauen Sie sich eine beispielhafte autoexec.bat an.
mode con codepage prepare=((850)
C:\WINDOWS\COMMAND\ega.cpi)
|
Grundaufbau der Startdatei, hier wird u.a. das Tastaturlayout beschrieben. Schon mit diesen drei Zeilen können Sie glücklich werden. |
path C:\windows\command; C:\tools | Der Suchpfad, praktisch, damit Sie Startbefehle gleich an jeder Stelle der Baumhierarchie tippen können, ohne erst in das entsprechende Verzeichnis verzweigen zu müssen. |
MSCDEX.EXE /D:OEMCD001 /L:D | Der wichtige Gerätetreiber für das CD-ROM-Laufwerk. Unentbehrlich! |
SET SOUND=C:\PROGRA~1\CREATIVE\CTSND
|
Ihre Soundkarte wünscht wieder bestimmte Einträge in der autoexec.bat. |
Zugegeben, edit autoexec.bat/config.sys unter DOS ist nicht jedermanns Sache. Kennen Sie sysedit? Das ist der Systemdateien-Editor von Windows. Machen Sie sich die Arbeit leicht. Denn auch von Windows aus lassen sich diese Startdateien komfortabel editieren. Voraussetzung: Sie verwenden für Ihre Spiele den reinen DOS-Modus gleich nach dem Anschalten (nicht den Rückfall-Modus).
Wählen Sie in Windows Start/Ausführen. Tippen Sie
sysedit |
Drücken Sie OK. Der Editor öffnet sich, nun können Sie bequem unter Windows Ihre Startdateien editieren.
Tun Sie das. Speichern Sie über Datei/Speichern.
Starten Sie den Computer komplett neu. Strg-Bootmenü usw.
Und, bringen die Veränderungen etwas?
Sie können die Einstellungen für die autoexec.bat und config.sys aus dem Systemdateien-Editor für entsprechende Pif-Dateien übernehmen! Kopieren Sie sie in die Zwischenablage. Fügen Sie sie an den entsprechenden Stellen ein. Probieren Sie es aus! Viel Erfolg!
(c) jch, Bearbeitungsstand: 04.08.98, ver 1.2