home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / os / msdos / programm / 8571 < prev    next >
Encoding:
Text File  |  1992-08-17  |  1.9 KB  |  35 lines

  1. Newsgroups: comp.os.msdos.programmer
  2. Path: sparky!uunet!pipex!warwick!mrccrc!doc.ic.ac.uk!rhbnc!csqx.cs.rhbnc.ac.uk!adrian
  3. From: adrian@csqx.cs.rhbnc.ac.uk (A Johnstone)
  4. Subject: Virtual to physical address mapping
  5. Message-ID: <1992Aug17.100034.11097@csqx.cs.rhbnc.ac.uk>
  6. Sender: news@csqx.cs.rhbnc.ac.uk (USENET News System)
  7. Nntp-Posting-Host: csqx.cs.rhbnc.ac.uk
  8. Reply-To: adrian@csqx.cs.rhbnc.ac.uk (A Johnstone)
  9. Organization: Dept of Comp Sci, Royal Holloway & Bedford New College Uni London
  10. Date: Mon, 17 Aug 1992 10:00:34 GMT
  11. Lines: 22
  12.  
  13. I'm a hardware engineer with plenty of Unix and VMS systems programming experience
  14. but rather ignorant about MS-DOS internals, so please pardon my naivity.
  15.  
  16. I have a homebrew SCSI card that is meant to perform DMA. It works fine on an
  17. XT but not on an AT. On an XT, buffers live at the same physical addresses as
  18. the compiler and linker specify, so it is easy to figure out what to put in the
  19. DMA controller registers. On a 386 under MS-DOS 5 this is no longer true. I have
  20. no way of figuring out what the true physical address of a particlular virtual 
  21. address is, and since I don't know where in the hardware address space my buffer
  22. is living, I can't tell my SCSI chip where to DMA to. I must stress that even under
  23. the simplest MS-DOS setup, with no high drivers or other cleverness, program 
  24. addresses no longer equal hardware addresses. I assume that under Windows or when 
  25. using memory extenders the situation becomes even murkier.
  26.  
  27. Any advice, hints or pointers to the literature on the subject of memory allocation
  28. in an extended memory environment would be welcome. What I'm really hoping is
  29. that one of you will be able to tell me about an MS-DOS interrupt that takes a
  30. segment:offset pair and returns a 24-bit number containg the equivalent physical
  31. main-memory address. However I've got this hunch that things in MS-DOS land are not
  32. so simple...
  33.  
  34.                                    Adrian
  35.