delorie.com/archives/browse.cgi | search |
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
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |