[DEBUG] COMMAND.COM FIX für mehr Standard Umgebungsspeicher

Konfiguration, Anwendungen, Treiber und TSRs unter DOS
Antworten
Benutzeravatar
Phoenix
MemMaker-Benutzer
Beiträge: 80
Registriert: Do 3. Okt 2019, 06:37

[DEBUG] COMMAND.COM FIX für mehr Standard Umgebungsspeicher

Beitrag von Phoenix »

Bei MS-DOS 5.0 und 6.XX beträgt die Standardgröße des Umgebungsspeichers nur 368 Byte.
Das führt zu Problemem wenn z. B: viele SET Variablen in der Autoexec.bat oder in Batsch Dateien verwendet werden.
Das kann man jedoch fürs erste mit dem SHELL Eintrag in der Config.sys beheben, indem man mit der Option /E:
Command.com mehr Speicher zuweist.
SHELL=C:\DOS\COMMAND.COM C:\DOS /E:1024 /P

Allerdings führt das nicht zu dem gewünschentem Erfolg, wenn Programme selbst einen neuen Command.com starten wird die Information welcher und wo sich der Komandoprozessor befindet aus der %COMSPEC% Variable gelesen die vom SHELL Eintrag oder durch SET COMSPEC=... in der Autoexec.bat konfigurt wird.
Leider wird dabei dann immer nur der standard Command.com mit 368 Byte gelden was dazu führt, daß schell die Fehlermeldung auftaucht "Nicht genügend Umgebungsspeicher vorhanden".
Der Norton Comander ist dafür ein Typisches Beispiel.

Behelfen kann man sich da nur, indem man die COMMAND.COM mit Debug oder dem Hexeditor editiert und dadurch den Standard Umgebungsspeicher erhöht.
Oder einen anderen Komandointerpreter verwendet.

Ich habe hier eine Anleitung wie das mit Debug funktioniert und habe für die deutsche MS-DOS Version 6.20 und 6.22 (6.21 sollte auch gehen) die Entsprechende Adresse hinzugefügt.
Anleitung ist in Änglisch und ich übersetzt das jetzt nicht, die paar Wörter versteh sogar ich. ;-)

Für diejenigen, weche lieber den Hex oder Diskeditor verwenden ist auch noch ein Bild zum Spicken dabei.
Da habe ich auch noch andere Werte drinnen stehen falls man mehr Umgebungsspeicher braucht.

Anmerkung: Mit der Option /E: von Command.com kann man bis zu 32K Umgebungsspeicher einstellen.
Mit der Fix kann man das anscheinend bis zu 64K aufblasen, ob das zu prblemen führt, kann ich hier nicht sagen.
Also eigenes Risiko, wenn es blöd läuft ist nicht nur dr Command.COM weg.

Code: Alles auswählen

QUELLE: https://www.sosoft.com/fod/fod_986.htm

#986 Increasing the Default DOS Environment Size

Problem: Attempts to increase the DOS environment size by increasing the
"/E" paramenter of the SHELL statement inCONFIG.SYS are ineffective.

Solution: Changes in the SHELL statement are not passed to secondary command
processors invoked by various application programs or by simply typing
COMMAND at the system prompt. These secondary environments will be no larger
than the amount of space that was actually in use in the primary environment.
In other words, the secondary environment has no extra free space.
Additional SET statements will return the "Out of environment space"
error message.
The solution to this problem is to increase the default environment size by
patching the byte that determines this DOS property. The location of this
byte is version specific, so you MUST follow the instructions for your
version of DOS. Furthermore, if the problem is found in a network environment,
you must patch the command processor on each workstation that has the problem.


 1. Insert a blank, formatted diskette in your A: drive.
    (You must use your A: drive for this.)

 2. At the system prompt, type the command: SYS A: <enter>.

 3. Leave the diskette in drive A: and restart the computer by pressing the
    reset button or by pressing the Ctrl, Alt, and Del keys at the same time. 

 4. If the system boots from the floppy correctly, you will probably see date
    and time prompts. Just press <enter> when they appear. That should put you
    at an A:> prompt.

 5. Type VER <enter> to see what version of DOS you are using and note the
    version number. (If your DOS is not MS-DOS 5.0, 6.0, 6.2, or 6.22,
    you cannot apply this patch.

 6. Still at the A: prompt, type C:\DOS\DEBUG COMMAND.COM <enter>.
    The debug prompt ( a hyphen or dash) will appear.

 7. The next commands will differ slightly depending on the version of DOS you
    are using. Be sure to select the correct version below: 



  MS-DOS 6.2 or 6.22:

    D 1777 L 1 <enter> 
	
    This command will display a memory address and a number to the right of
    the address. This number should be "10". If not, something is not right,
    so just type "Q" and <enter> to exit Debug.
    If the number is "10" then continue with the following commands.

    E 1777 40 <enter>

    W <enter>

    Q <enter>



  MS-DOS 6.2 or 6.22 German Version:

    D 19B7 L 1 <enter> 
	
    This command will display a memory address and a number to the right of
    the address. This number should be "10". If not, something is not right,
    so just type "Q" and <enter> to exit Debug.
    If the number is "10" then continue with the following commands.

    E 19B7 40 <enter>

    W <enter>

    Q <enter>



  MS-DOS 6.0:

    D 1767 L 1 <enter> 

    This command will display a memory address and a number to the right of
    the address. This number should be "10". If not, something is not right,
    so just type "Q" and <enter> to exit Debug.
    If the number is "10" then continue with the following commands.

    E 1767 40 <enter>

    W <enter>

    Q <enter>



  MS-DOS 5.0:

    D 1666 L 1 <enter> 

    This command will display a memory address and a number to the right of
    the address. This number should be "10". If not, something is not right,
    so just type "Q" and <enter> to exit Debug.
    If the number is "10" then continue with the following commands.

    E 1666 40 <enter>

    W <enter>

    Q <enter>

 8. Still leaving the diskette in drive A:, reboot the computer again with
    the reset button or by pressing the Ctrl, Alt, and Del keys at the
    same time. Once again, it should boot up, maybe with time and date
    prompts and put you at the A:> prompt. If it does not, then perhaps you
    did not follow the directions exactly. Try again from step one. 

 9. Assuming that all is well and the computer rebooted properly, type
    DIR <enter> and check the date next to the COMMAND.COM file.
    It should be the current date, indicating that the file was just changed. 

10. Copy the patched version of COMMAND.COM to your hard disk with the
    following commands:

    COPY COMMAND.COM C:\ <enter>

    COPY COMMAND.COM C:\DOS <enter>


11. Now remove the diskette and reboot the system normally so that it starts
    from the hard disk. You have successfully increased the default
    environment size to 1024 bytes, which should be enough for almost
    any application.

 
Synergistic Office Solutions, Inc. : German Version by Hoshi Oshi
Umgebungsgöße ändern Command.com MS-DOS 6.22 Deutsch klein.jpg
Umgebungsgöße ändern Command.com MS-DOS 6.22 Deutsch klein.jpg (168.07 KiB) 6291 mal betrachtet
Antworten