delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/11/30/04:36:06

From: "Michael Wahl, Picoquant" <mick AT pq DOT fta-berlin_dot_de>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: XMS with HIMEM? (and DMA)
Date: Fri, 30 Nov 2001 10:28:29 +0100
Organization: PicoQuant
Lines: 32
Message-ID: <3C07513D.F386703@pq.fta-berlin_dot_de>
References: <3C03AFFB DOT 543A5BDB AT pq DOT fta-berlin_dot_de> <3c039812 DOT sandmann AT clio DOT rice DOT edu>
NNTP-Posting-Host: quantum.pq.fta-berlin.de
Mime-Version: 1.0
X-Trace: rhodos.FTA-Berlin.de 1007116237 29460 141.16.70.115 (30 Nov 2001 10:30:37 GMT)
X-Complaints-To: usenet AT rhodos DOT fta-berlin DOT de
NNTP-Posting-Date: 30 Nov 2001 10:30:37 GMT
X-Mailer: Mozilla 4.77 [en] (Win98; U)
X-Accept-Language: en
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Charles Sandmann wrote:
> 
> > I am using XMS for DMA allocated via 0x0900.
> > In the FAQ it says that this should work even with plain HIMEM.SYS which
> > is one of the reasons why I decided for XMS.
> > In practice I find it only works with QUEMM or EMM386 loaded.
> > Otherwise I get Error 0xA0 (All available extended memory is allocated)
> > even though MEM shows plenty of XMS.
> 
> I'll assume you are using CWSDPMI here.  In this case CWSDPMI with
> himem.sys alone consumes the biggest XMS block (which in your case is
> the entire thing) to create DPMI memory.
> 
> http://clio.rice.edu/djgpp/cwsdma2.zip has an example of how to do the
> buffer allocation and physical address mapping.  This is just example
> prototype code - but it has been modified successfully by other people
> to create large DMA buffers (8Mb or so).  My eventual plans were to
> add this as examples on a simtel mirror when it was finished.

Charles,
Meanwhile I took a look at this example and tried it out. 
It really is what currently serves the most configurations.
(plain cwsdpmi, himem with or without quemm/emm386)
Excellent work. No surprise, cws having some insight to cwsdpmi :-)  
It pokes deeply into the inner works thouh. Might be dangerous
to be left to 'users' to modify and compile themselves etc. 
Couldn't it become part of a (runtime) library or so, to be 
encapsulated and standardized?
From the sources I saw that there is a case 'CWSDPMI PD in UMB not 
supported'. Under what circumstances will that strike?
And finally: Where do you see problems when you say 'prototype'?
Michael

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019