EMM386: DMA Modus nicht unterstuetzt



  • Hi

    Ich habe mir ein kleines Programm fuer DOS geschrieben, dass DPMI-Funktionen benutzt, somit also im Protected Mode laeuft.
    Dieses Programm gibt Musikdateien ueber eine SoundBlaster16 kompatible Soundkarte wieder.
    Unter Windows funktioniert das ganze auch ganz hervorragend, aber wenn ich versuche, das ganze nur unter DOS zu starten, gibt EMM386 die Fehlermeldung "DMA-Modus wird nicht unterstuetz. Enter druecken, um den PC neu zu starten." aus. (Natuerlich passiert nichts, wenn man auf enter drueckt, was haette man von MS anderes erwartet ;))
    Also: hae??
    Wie kommt diese Fehlermeldung zustande? Der DMA-Controller unterstuetzt den verwendeten DMA-Modus mit 100%iger Sicherheit und der DMA-Puffer ist auch nicht zu gross...

    Ich habe irgendwie den Verdacht, dass EMM386 nicht ganz damit klar kommt, wie ich den DMA-Puffer allociert habe...
    Und zwar habe ich im Realmode ueber int 21,ah=48h einen Speicherbereich reserviert und dieses Segment dann im Protected Mode ueber die DPMI-Funktion 0002h in einen Descriptor umgewandelt.
    Vielleicht ueberschreitet dieser Speicherberich auch irgendwelche 64KB-Grenzen?

    Was kann ich gegen diese EMM386-Anfaelle tun?


Anmelden zum Antworten