From alsa-devel-owner@alsa.jcu.cz  Fri Oct 23 06:42:18 1998
Received: from studentmail.liu.se (vmailer@mail.student.liu.se [130.236.230.10])
	by marvin.jcu.cz (8.9.1a/8.9.1) with ESMTP id GAA14530
	for <alsa-devel@jcu.cz>; Fri, 23 Oct 1998 06:42:10 +0200
Received: from linux.nu (d209.ryd.student.liu.se [130.236.235.209])
	by studentmail.liu.se (VMailer) with ESMTP
	id C3C8C39E01; Fri, 23 Oct 1998 06:42:17 +0200 (MET DST)
Message-ID: <36300A2E.452DD8DD@linux.nu>
Date: Fri, 23 Oct 1998 06:46:38 +0200
From: Martin Udden <nanook@linux.nu>
MIME-Version: 1.0
To: "alsa-devel@jcu.cz" <alsa-devel@jcu.cz>
Subject: EWS64 hacking
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Reply-To: alsa-devel@alsa.jcu.cz
Sender: alsa-devel-owner@alsa.jcu.cz
Precedence: list

Hi, I'm hacking around with my EWS64 (SAM9407 based) and succeed
yesterday to make it play a WAV file =). 

Now, to make something of a alsa-driver (of the more primitive kind) I
really need some examples of how to communicate with DMA-less cards The
Right Way. Is there any of the currently supported cards that are
DMA-less ? I mean, that don't use DMA-channels at all ?
  The SAM9407 has its sample-buffer in onboard memory. Is the
wave-playing procedure different from other cards ?
  Also the EWS features up to 32 hardware mixed channels, is this easy
to implement in ALSA? I can already do this "in theory" with a good
interrupt handler, but can ALSA do it? Are there any examples among the
supported cards ?
  The driver should do wave-playing of eight channels + mixer
(Volume/panning for all).

If you think the effort to produce this driver is >= big, maybe you
should tell me so. Mind you, the first line of this email really
describes my acquintance (sp?) with the card so far. I don't want to
make false promises (and be the "I'm gonna make a driver! How do I do
?"-guy). Since noone on this list got the same card, and obviously noone
on the sam9407-linux list are interested in ALSA (I've asked both lists
at least once), I decided to at least _try_ to make this myself.

The HW-specs are quite good, since there's a quite thorough firmware-API
"leaked" from Dream and TerraTec.

The driver should do wave-playing for 8 channels and mixer-support for
all.
Btw, what's the best way of doing eight channels on the same card ?
Eight separate modules or ... what ? The user should anyway have access
to devices /dev/dsp0 through 7. The future module snd-ews64-channel.o
comes to mind =).

[Martin]
-- 
     | martin udden | <nanook@linux.nu> |
-----------------------------------------------------
"Jazz ain't dead, it just smells funny" - Frank Zappa

