• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 551
  • Last Modified:

DMA and EMM386

I am attempting to use DMA to transfer data from a EIA-485 card to memory and vice-versa using DMA (programming for DOS)

When I attempt to initialize the DMA controller registers, the PC gives me a

EMM386: DMA mode not supported.  Press a key to REBOOT.


What's going on and how do I fix it?

Any help would be appreciated.
  • 2
1 Solution
Try using  the Qemm Software from Quarterdeck.

you have to remove from your config.sys de line in which is the emm386 and
Yes, I have gotten the DMA to work without the EMM386.EXE loaded.

Why doesn't DMA work with EMM386 loaded though?  The 'help' documentation for EMM386.EXE specifies that a certain number of blocks are reserved for DMA buffers.  I have also read that memory managers such as EMM386 and others are supposed to trap I/O accesses to the DMA controller so that they can translate virtual memory addresses to physical addresses.

So why isn't EMM386.EXE doing this?

Also, doing this in DOS was just a way of testing the 485 card.  Ultimately, I need to do this from Windows 3.1 and Windows 95.  Do you know of any WWW documentation that may help me?

Any help would be appreciated. :)
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

We Need Your Input!

WatchGuard is currently running a beta program for our new macOS Host Sensor for our Threat Detection and Response service. We're looking for more macOS users to help provide insight and feedback to help us make the product even better. Please sign up for our beta program today!

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now