Befehl: uhdd.sys

  UHDD ist ein Disk- (Festplatten-) Caching-Treiber.

Syntax:

  DEVICE[HIGH] = [Pfad] UHDD.SYS [/A] [/B] [/E] [/H] [/O] [/Q]
                 [/R15] [/R63] [/Snn] [/Z]

Optionen:

  UHDD benötigt in der Regel nur einen /H-Schalter zur Nutzung des HMA-
  Speichers, einen /S-Schalter zum Einstellen der Cache-Größe und einen
  /O-Schalter um DMA/Caching-Overlap zu aktivieren (am besten, für die
  meisten Systeme!). Es gibt folgende UHDD-Schalter:
  /A    Fordert eine "alternative" Adressierung für "ältere" IDE-Con-
        troller an, 01E8h/0168h für den ersten, 01F0h/0170h für den
        zweiten. /A wird selten benötigt. Ohne /A verwendet der erste
        "ältere" Controller 01F0h/0170h und der zweite 01E8h/0168h, so
        wie es bei PC-Mainboards üblich ist.
  /B    Richtet einen "einfachen" UltraDMA-Festplattentreiber(ohne Cache)
        ein und verwendet 128 KB XMS als Puffer für I/O, der nicht für
        UltraDMA geeignet ist. Mit /B werden die Schalter /E, /O und /S
        ignoriert.
  /E    Verwendet kein UltraDMA für alte 80386/80486-PCs, die nie
        UltraDMA hatten! UHDD "ruft das BIOS" für Festplatten-I/O auf und
        speichert Daten (falls erforderlich) nach Abschluss des BIOS-
        Vorgangs im Cache. Mit /E werden die Schalter /A, /Q und /Z
        ignoriert.
  /H    Platziert den Großteil des Treibers im "freien HMA-Speicher". Um 
        /H zu verwenden, muss der Treiber aus FDAUTO.BAT (nicht FDCONFIG.
        SYS) geladen werden, da FreeDOS erst nach Ausführung von FDAUTO
        "freies HMA" bereitstellt.
  /O    Überlappt "Disk UltraDMA" mit Caching-Aufgaben, für höhere Ge-
        schwindigkeit.
        Obwohl /O empfohlen wird, funktioniert es möglicherweise nicht
        auf alten/ungewöhnlichen/"billigen" PC-Mainboards, die nicht
        UltraDMA unterstützen und gleichzeitig auf XMS-Speicher zugreifen
        können! Systeme sollten mit /O getestet werden. Wenn Festplatten-
        fehler auftreten, die CD/DVD-Eingabe über UDVD2 aber einwandfrei
        funktioniert, darf /O NICHT verwendet werden!
  /Q    Wartet auf eine "Datenanforderung", bevor UltraDMA-I/O-Übertra-
        gungen gestartet werden. /Q wird selten benötigt, nur für ältere
        Systeme, bei denen der Treiber zwar ordnungsgemäß geladen wird,
        aber scheinbar keine Daten übertragen kann. /Q ist NICHT für die
        Verwendung mit Sabrent oder anderen SATA-zu-IDE-Adaptern geeignet,
        die keine "Datenanforderung" emulieren!
  /R15  "Reserviert" 15 MB oder 63 MB XMS für ältere DOS-"Spielepro-
  /R63  gramme", die XMS-Speicher unter 16 oder 64 MB benötigen. Die
        Treiber müssen diesen Speicher reservieren können, ihren eigenen
        XMS-Speicher dahinter reservieren und anschließend den 15/63 MB
        großen XMS-Speicher "freigeben" können. Andernfalls zeigen die
        Treiber einen "XMS-Init-Fehler" an und brechen ab! /R für UDVD2
        wird ignoriert, wenn es nach UHDD geladen wird, da UDVD2 dann den
        XMS-Speicher der UHDD gemeinsam nutzt.
  /Snn: Fordert die gewünschte Cache-Größe in Megabyte XMS-Speicher an.
        Werte sind beliebige Zahlen zwischen 5 und 4093 (4 GB). Für opti-
        male Geschwindigkeit wird nach Möglichkeit ein Cache von mindes-
        tens 20 MB empfohlen. Wenn /S fehlt oder ungültig ist, wird ein
        Cache von 20 MB festgelegt. UHDD zeigt einen "XMS-Init-Fehler" an
        und bricht ab, wenn nicht genügend XMS frei ist! Fordern Sie in
        diesem Fall einen kleineren Cache an.
  /Z:   Verschiebt XMS-Daten im Protected-Mode in 8-KB-Blöcken (nicht 64
        KB) für CPUs ab 486 und 4-KB-Blöcke für langsame 386-CPUs.
        Weitere Hinweise zu /Z finden Sie unter /Z für XMGR.

Kommentar:

  UHDD ist ein Festplatten-Caching-Treiber, der bis zu 10 BIOS-Fest-
  platten beliebiger Art und Größe mit bis zu 4 "Legacy"- oder Native-
  PCI-UltraDMA-Controllern betreibt. Er fängt Int-13h-E/A-Aufrufe ab und
  speichert Daten für Festplatten (Disketten A: und B:) sowie andere
  Int-13h-Treiber, die zuerst geladen werden. Wird er nach UHDD geladen,
  ruft der UDVD2-Treiber UHDD auf, um CD/DVD-Datendateien zu cachen.
  UHDD nutzt Read-Ahead für UltraDMA-Festplatten, und der Schalter /O
  überlappt Festplatten-UltraDMA- und Caching-Aufgaben. Die Verwendung 
  beider Treiber ist bis zu 20 % schneller als bei älteren "UIDE"-
  Treibern! Es erfolgt Write-Through-Caching (keine verzögerte Ausgabe!).
  Der UHDD-Cache nutzt XMS-Speicher und fasst bis zu 4 Gigabyte Daten.
  Der /B-Schalter aktiviert außerdem einen einfachen UltraDMA-Festplatten-
  treiber (ohne Cache), der 128 KB XMS als Puffer für I/O-Vorgänge nutzt,
  die nicht für UltraDMA geeignet sind. Die einfache UHDD kann Tests und
  andere nicht zwischengespeicherte Aufgaben verarbeiten.

  Bei allen Schaltern in den Treibern kann der Schrägstrich durch einen
  Bindestrich ersetzt werden; Kleinbuchstaben können auf Wunsch verwendet
  werden.
  UHDD und UDVD2 sind Closed-Source DOS-Treiber für PCs mit einer CPU ab
  80386 (UHDD benötigt eine CPU ab 80486) und verwenden MS-DOS ab Version
  5.0 oder eine vollständig kompatible Variante.
  Die neuesten UHDD- und UDVD2-Treiber sind Open-Source-Gerätetreiber für
  PCs ab 80386 und verwenden FreeDOS. Bei XMGR und RDISK hingegen hängt
  es von der Versionsnummer ab, ob es sich um Open Source oder Closed
  Source handelt.
  Weitere Informationen und, falls Sie im Zweifel sind, finden Sie in
  der Datei "README.txt" in der zip-Datei "drivers.zip".

Beispiel:

  Hinweis: Es gibt neue Closed-Source-Treiber für UHDD.SYS (=XHDD.SYS)
  und UDVD2.SYS (=XDVD2.SYS), die möglicherweise andere Optionen bieten.
  Bitte verlassen Sie sich daher nicht auf die Optionen in den Bei-
  spielen!
  A: Ein kleines Real-Mode System, das nur XMS benötigt, kann zum Bei-
     spiel diese CONFIG.SYS/FDCONFIG.SYS Datei verwenden:
       ..
       ..
     DOS=HIGH
     DEVICE=C:\BIN\XMGR.SYS /Rnn              ;R falls es DOS "Spiele"
                                               brauchen
       ..
       ..  Int 13h Treiber, die von UHDD gecached sind, laden jetzt.
       ..
     DEVICE=C:\BIN\UHDD.SYS /S20 /H /O        ;Min. 20 MB empfohlen
     DEVICE=C:\BIN\UDVD2.SYS /D:BLURAY1 /H    ;Muß nach UHDD laden.
     DEVICE=C:\BIN\RDISK.COM /S5 /F           ;Optional. Falls nicht ver-
                                              ;wendet, kann UHDD/UDVD2
                                              ;/F ausgeben
       ..
       ..  Hier können weitere CONNFIG.SYS / FDCONFIG.SYS Befehle stehen.
       ..
  B: Real-Mode-Systeme mit UMBPCI und XMGR ab V3.70 benötigen den LOWDMA-
     Treiber nicht, da XMGR über einen I/O-Catcher für UMBPCI verfügt.
     Dieses Schema benötigt keinen Low-Memory-Speicher, wenn /W verwendet
     werden kann (MS-DOS usw.), bzw. nur 544 Low-Memory-Bytes ohne /W
     (PC-DOS usw.). XMGR und andere Treiber laden direkt in den UMBPCI-
     Shadow-RAM! Systeme, die mehrere Anbieter von High-Memory-Speicher
     zulassen (MS-DOS, PC-DOS usw.), können auch, wie unten gezeigt,
     einen EMM-Treiber laden, um den Bereich B000-B7FFh für Monochrome
     Graphics als 32 KB zusätzlichen High-Memory-Speicher abzubilden.
     Eine Beispieldatei für die CONFIG.SYS/FDCONFIG.SYS ist:
       ..
       ..
     DOS=HIGH,UMB
     DEVICE=C:\BIN\UMBPCI.SYS
     DEVICE=C:\BIN\XMGR.SYS /W /Rnn            ;W nur wenn erlaubt!
                                               ;R <= 15.5 MB mit JEMM!
     DEVICE=C:\BIN\JEMM386.EXE I=B000-B7FF X=C800-EFFF ...   ;Optional
       ..
       ..  Int 13h Treiber, die von UHDD gecached sind, laden jetzt
       ..  und können in den UMBPCI oberen Speicher geladen werden.
       ..
     DEVICEHIGH=C:\BIN\UHDD.SYS /S200 /H /O    ;Schneller 200 MB Cache
     DEVICEHIGH=C:\BIN\UDVD2.SYS /D:CDROM1 /H  ;Muß nach UHDD laden
     DEVICEHIGH=C:\BIN\RDISK.COM /S50 /F       ;Optional. Falls nicht
                                               ;verwendet, kann UHDD/
                                               ;UDVD2 /F ausgeben
       ..
       ..  Hier können weitere CONNFIG.SYS / FDCONFIG.SYS Befehle stehen.
       ..
  C: Ein Protected-Mode-System mit XMGR und einem "EMM"-Treiber kann
     XMGRs "boot" verwenden, wobei mindestens 304 Bytes an unterem Spei-
     cher für eine "XMS Handles"-Tabelle mit 24 Einträgen benötigt wer-
     den, zuzüglich eines niedrigen Speichers, den der "EMM"-Treiber
     möglicherweise benötigt. Eine CONFIG.SYS/FDCONFIG.SYS-Beispiel-
     datei sieht wie folgt aus:
       ..
       ..
     DOS=HIGH,UMB
     DEVICE=C:\BIN\XMGR.SYS /B /N24 /R15.5     ;24 Handelt XMGR "boot"
                                               ;R <= 15.5 MB mit JEMM!
     DEVICE=C:\BIN\JEMM386.EXE I=B000-B7FF ...
     DEVICEHIGH=C:\BIN\XMGR.SYS                ;Lädt die Laufzeit XMGR
       ..
       ..  Int 13h Treiber, die von UHDD gecached sind, laden jetzt
       ..  und können in den oberen Speicher geladen werden.
       ..
     DEVICEHIGH=C:\BIN\UHDD.SYS /S400 /H /O /P ;Optimal 400 MB Cache
     DEVICEHIGH=C:\BIN\UDVD2.SYS /D:MYDVD /H   ;Muß nach UHDD laden
     DEVICEHIGH=C:\BIN\RDISK.COM /S125 /F      ;Optional. Falls nicht
                                               ;verwendet, kann UHDD/
                                               ;UDVD2 /F ausgeben
       ..
       ..  Hier können weitere CONNFIG.SYS / FDCONFIG.SYS Befehle stehen.
       ..
  In jedem der obigen Beispiele muss UDVD2 nach UHDD geladen werden,
  damit UDVD2 UHDD im Speicher "findet" und für das CD/DVD-Datei-Caching
  aufruft.
  Benutzer, die RDISK mit einem bestimmten Laufwerksbuchstaben benötigen,
  können den Ladevorgang verzögern, bis die AUTOEXEC.BAT / FDAUTO.BAT
  ausgeführt wird.

  Falls /F oder /G auch für DOS-Spiele benötigt werden, muss RDISK diese
  von AUTOEXEC aus ausführen, da dieser Treiber dann als letzter geladen
  wird. Bei Verwendung von RDISK muss AUTOEXEC.BAT / FDAUTO.BAT außerdem
  Befehle ausführen, um alle RDISK-Programme und -Daten auf die RAM-Disk
  zu kopieren, da XMS-Speicher beim Herunterfahren des PCs verloren geht!
  Solche Kopien benötigen wenig Zeit.
  Wenn sowohl UHDD als auch RDISK ausgeführt werden, müssen Benutzer den
  XMS-Speicherbedarf der Treiber abwägen. UHDD kann, wie in obigem Bei-
  spiel C einen 400-MB-Cache einrichten, und RDISK kann 125 MB XMS für
  seine Programme, "schnellen" Datendateien und Compiler-Temp-Dateien
  anfordern. Diese Größen sollten für die meisten Systeme optimal sein,
  können aber nach Bedarf nach oben oder unten angepasst werden. Der
  verbleibende XMS-Speicher bleibt für andere Programme frei. Der Grund-
  plan sieht vor, dass RDISK Programme und Hochgeschwindigkeitsdateien
  "speichert", während UHDD "normale" Datendateien zwischenspeichert.
  Eine ausgewogene Nutzung des XMS-Speichers sorgt für ein SEHR schnelles
  DOS-System!

Siehe auch:

  autoexec.bat/fdauto.bat
  cc cash cleaner for uhdd
  config.sys/fdconfig.sys
  device/devicehigh
  dos
 (fdxms)
 (fdxms286)
 (gcdrom.sys)
  himemx
  jemm386
  jemmex
  lastdrive/lastdrivehigh
  rdisk
  rdiskon
  tdsk
  udvd2.sys
  uide.sys
  xmgr.sys

  Copyright © 2018 - 2022 Jack Ellis, Hilfeversion 2025 W. Spiegl.

  Diese Datei ist abgeleitet vom FreeDOS Spezifikationen-HOWTO.
  Vgl. auch die Datei H2Cpying bezüglich der Kopierbedingungen.