Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Dec 1998 12:05:06 +0000
From:      Rob Schofield <schofiel@xs4all.nl>
To:        Free BSD Hardware list <freebsd-hardware@FreeBSD.ORG>
Subject:   Re: sane sound cards?
Message-ID:  <3674FEF2.732C@xs4all.nl>
References:  <199812120145.PAA10540@pegasus.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Richard Foulk wrote:

> You can't DMA a megabyte buffer full of data to a card that doesn't have
> any place to put it.  So a five minute song is going to take roughly
> 100,000 separate DMA transfers.  That's 100,000 chances for another
> process to keep the CPU busy long enough for the sound card to run out
> of data.  64 bytes is only a few milliseconds of play time.  Unacceptable.

You are, or course, perfectly correct here in what you say, but your
problem is basically that the market the card designers of these cards
are aiming at are primarily single-thread, single user (win/mac). It is
only a recent "innovation" that they have moved from ISA bus designs (in
1998!! My Grief!!) to PCI; they are unlikely to make the even greater
step of sophistication of process-locked on board buffering for a decent
OS.

The closest idea I can think of even similar to what you want is the
"Speed Variation Buffer" RAM buffer in the second and third generation
CD-players produced by Philips years ago where the symbol delivery rate
from the disk reader could vary with the rotational speed of the disk
(which may have tilted, counter rotated, etc.). This effectively became
a FIFO that was clocked out at a controlled rate by the supervising
processor for the D/A stages, effectively soaking up the speed variation
in the mechanics.

I doubt you'll see this on a sound cad, because it costs money; the
designers realise that it is cheaper to use off-board RAM that has
already been paid for by someone else, and use the OS to provide the
"buffer" in software. Low budget, for a low-budget market.

This does tend to imply that there would be a good professional market
for a company prepared to ivest in a design with a large on-board buffer
RAM for the sound data stream, rather than just for symbol tables.
Hmmm.... now if I dig out my 'scope and dust off my logic analyser maybe
I can .....


Rob Schofield
-- 
The Ninety-Ninety Rule of Project Scheduling:

The first ninety percent of the job takes ninety percent of the 
allotted time, the last ten percent takes the other ninety percent.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hardware" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3674FEF2.732C>