From: George F. <geo...@me...> - 1997-09-28 02:25:14
|
On 27 Sep 97 at 20:25, Shawn Hargreaves wrote: > ad...@is... writes: > >you say that you have to write to each location in RAM manually, but I'm > >looking at the EMU8000 docs on page 22 and it's talking about DMA > >transfers to the sound memory. So what's up with the difference? Am I > >misunderstanding the document? ... > If you wish to do a write transfer, simply write the data words > to be transferred to sequential sound memory addresses into > sound memory to SMLD (left) or SMRD (right). > > I have no idea what SMLD and SMRD are (George?) but they look to me like > names for the EMU8000 hardware registers, ie. port addresses. Certainly > not the same thing everyone else means when they talk about a DMA > transfer :-) I'm afraid that's true... they're lying (sort of). When normal people talk about DMA, they mean hardware accessing the system memory without going through the CPU. Direct Memory Access, literally. In this case, though, the Direct Memory Access is referring to the sound card's memory -- we're accessing it by going through a hardware port. Not very direct though, IMHO... and it does involve the EMU8000 processor. The analogy is weak, admittedly; but it's the best I can do :). SMLD = Sound Memory Left Data SMRD = Sound Memory Right Data (see page 8) In fact, though, I just saw a flaw in my memory reading/writing code, which would cause it to be rather slow -- I was resetting the register pointer before each write/read, which should not have been necessary since it would already be set after the previous write/read. This may or may not have made a big difference; I'll have to try it both ways to find out. -- George Foot (geo...@me...) Merton College, Oxford. |