Re: asm.e questions
- Posted by Kat <KSMiTH at PELL.NET> Oct 24, 1999
- 659 views
----- Original Message ----- From: Everett Williams <rett at GVTC.COM> To: <EUPHORIA at LISTSERV.MUOHIO.EDU> Sent: Sunday, October 24, 1999 12:21 AM Subject: Re: asm.e questions > Nick Metcalfe <metcalfn at ALPHALINK.COM.AU> wrote: > > > > >Unfortunately, I must assume that because the task to be performed is > >pretty intensive, getting Eu to handle the file operations would > >probably drink way too much cpu power. It also means it could not be > >made totally background and would need some kind of polling loop, the > >very thing I want to eliminate. > > > >Briefly, the isr's file section will need to page large sections of any > >long waves from disk for mixing and playback in real time. It will also > >be used for recording, although this will not be as strenuous, and could > >probably be done the way you suggest, although I would prefer that to be > >background as well leaving plenty of cpu power for vu meters, fancy time > >displays and the like. B-) > > > >-- > > Nick Metcalfe <metcalfn at alphalink.com.au> > > http://www.alphalink.com.au/~metcalfn > > Nick, > > I would like to know what you mean about IO routines eating up too much CPU. > I don't know how efficient Eu's file routines are, but IO typically is more > a consumer of clock time than CPU cycles. Finding ways to make IO efficient > on any particular configuration is no simple job, but CPU cycles are not > usually the most prominent concern. Also, from what I can tell, all Eu > driven file IO is synchronous...meaning Eu waits on the completion of IO to > proceed to the next instruction. Buffering and caching external to Eu can > improve the efficiency of such IO, but if the CPU has nothing else to do > other than wait on the IO, much will go to waste. Even if you do all the IO > in the background through some asm routine, you will still have to write > some polling routine to tie the IO to the Eu code. I think that you said > that this was to be done in DOS, where you have no call back ability. I > don't see how you will get to what you want to do without moving to a > Windows type setup. Maybe you can call DMA routines if your motherbd supports such things, and call the DMA *before* you need the data, so it's ready when you are. Maybe? Kat