Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Rockbox mail archive

Subject: RE: DMA Operation???
From: Nielsen Linus (ext) (Linus.Nielsen_at_elema.siemens.se)
Date: 2002-10-18


> I am looking at mpeg.c and can see that the MP3 data is DMAed
> using dma channel 3 from the mp3 buffer to the MAS chip - it seems to
> go to address 0x5FFFEC3 which I assume is where the MAS's mp3 buffer
> is located

That is the register where we write the address from where the DMA reads the
data to be sent to the MAS.

> question1: is this buffer on the MAS chip circular? by this I
> mean does the chip start playing from the beginning to the
> end then back to the start again?

The data to the MAS is sent via a serial channel. But yes, the large 1.7Mb
buffer in the dynamic RAM is circular. We do't know anything about the
internal buffer inside the MAS.

> question2: How often does that interupt get fired? is it
> every 64k (about 8s of audio at 64kbs), in which case its
> not often enough for me to slip a beep in

That is correct.

> (what I was thinking was to point the DMA controller to an
> alternative MP3 buffer containing a short beep, setting a
> flag to tell it to return to the 'real' buffer next time
> DEI3 gets fired off.
> Is this feasable?

Looks feasible. Two small problems:

1. The usage of the bit reservoir will probably introduce unwanted noise
when you insert a "foreign" frame into the stream.

2. You still have to insert the frame at a frame boundary, or you will get
silence or noise.

> has neone documented the disc-buffer-mas transfer situation?

No I haven't. I have begun writing a document describing this, but something
always get higher priority...

/Linus



Page was last modified "Jan 10 2012" The Rockbox Crew
aaa