delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/10/17/06:20:10

Message-ID: <36287AC1.743A9501@mcis.de>
Date: Sat, 17 Oct 1998 12:08:49 +0100
From: Gero Timann <geti AT mcis DOT de>
Organization: MediaCompany Goe
X-Mailer: Mozilla 4.05 [de]C-NECCK (Win95; I)
MIME-Version: 1.0
Newsgroups: comp.os.msdos.djgpp
To: djgpp AT delorie DOT com
Subject: Re: UDMA <-> getting physical address of an array ?
References: <Pine DOT SGI DOT 3 DOT 95 DOT 981017110233 DOT 18662A-100000 AT paju DOT oulu DOT fi>
Reply-To: djgpp AT delorie DOT com

Hi Toni !

Thanks for your reply.

I try to write real-time-software for pentiums and above (clock
greater 200MHz needed for active sound control) and therefore have no
interrest in old machines (the software wouldn't run there anymore, not
enough performance). Here i've only to distinguish between some
cpu-support-chips, like VXpro, Intels HX,TX,BX, Intels 82378
compatible... .  All these Chips allow DMA for the low 16MB, without
64k-boundaries. Take a look at INTELs peripherical guide. There is a
standard, i think, upper page-regs at 0x487..... Therefore no interest
in compatiblity to old 82C37s ! When needed, i can use the fcts from
allegro-source (do you know the author ?).

Another point is, that there is no time to use dosmemget. Takes about
100mikroseconds only for the skelett.  This is already the time i can
use between two samples ! No more operations possible ! 
Last night i've experimented with the farpoke-family (i've learned this
from a DJGPP vbe-programing-example-program). These seams the real
answer to my question. Measures with the time-stamp-counter shows, that
they use only about 100 nano seconds for reading one value. Much,
better. But if i know the real physical adress from an array, let a[], i
can fill this direct by DMA. Looks much simpler. Is this cs:<a>? 

Sorry about my silly questions. But, i'm a DJGPP- and DPMI-newbe.
Therefore all these things looks not as simple for me as for you. 
Let me know better ways, please.


Regards,
Gero




Toni Rasanen schrieb:

> On Fri, 16 Oct 1998, Gero Timann wrote:
>
> > Modern DMA-Controllers allows now to write/read to/from 16MB (insteed of
> > the old 1MB with only 64k-addressing). Great, no dosmemget and
>
> Whether the new DMAchips can cross boundary limits or not, it's
> a simply stupid to presume that everyone has a new chip when you
> create a program. So don't presume, check. And still make your
> routines to support old DMA's, unless you really wish your program
> to have some 90% less users...
>
> > from an array, where i want to store the data, under DJGPP ?
>
> As I am writing this at the unversity, I can't access my own
> notes, but if I happen to remember corrent, you ought to use
> __dpmi_allocate_dos_memory -function (or something like that).
> Check the help files for more detail (rhide preferably :), it's
> really rather simple.
>
>  ///           Toni Räsänen
> ///       torasane AT mail DOT student DOT oulu DOT fi



--
___________________________________________________________________

Dipl.Phys.Gero Timann
Schülerstieg 20
37081 Göttingen
Germany

Tel./Fax: Germany-0551-96782
EMail:
   geti AT mcis DOT deREMOVE_THIS
   geti AT spock DOT physik3 DOT gwdg DOT deREMOVE_THIS
   geti AT online DOT deREMOVE_THIS
____________________________________________________________________


- Raw text -


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