EM Treiber
-
Hi,
DOS hatte ja einen ExpanedMemory Treiber... wie kann ich einen für mein RealMode OS coden?
MFG
LordHoto
-
Hi.
Das ist leider in der Form, wie das zB. EMM386 tut gar nicht so einfach, da dieses Tool im Grunde genommen ein gesamtes ProtectedMode-System zur Verfuegung stellt.
Praktisch laeuft das ganze so ab, dass DOS so lange im Realmode laufen kann, bis die Dienste dieses Speichermanagers in Anspruch genommen werden.
Bei der Initialisierung schaltet dieser EM in den PM und setzt das aktuell laufende RM-Programm in einen V86-Task.
Beim Aufruf von zB. EMS-Funktionen wird dabei in den hoeher privilegierten Task des Memory mamagers gewechselt und aus dem hohen Speicher die entsprechenden Seiten in den Bereich des RM-Frames (bei EMS meist E000:0000) gemapt. (sowas nennt sich dann paging)Weiteres zur Programmierung im Protected Mode gibt es in der FAQ.
Ich empfehle der Einfachheit halber, gleich ein fuer den PM ausgelegtes OS zu entwickeln, wenn der hohe Speicher verwendet werden soll.
Solche Flickwerke fuer ein RM-OS sind nur unnoetig kompliziert und funktionieren nur selten wirklich gut (siehe Win 3.11)