From alsa-devel-owner@alsa.jcu.cz  Sun Oct 25 14:27:55 1998
Received: from post.mail.demon.net (post-11.mail.demon.net [194.217.242.40])
	by marvin.jcu.cz (8.9.1a/8.9.1) with ESMTP id OAA02581
	for <alsa-devel@jcu.cz>; Sun, 25 Oct 1998 14:26:23 +0100
Received: from [158.152.21.220] (helo=MUSE)
	by post.mail.demon.net with smtp (Exim 2.05demon1 #1)
	id 0zXQBX-0007C0-00
	for alsa-devel@jcu.cz; Sun, 25 Oct 1998 13:26:20 +0000
Received: by MUSE            with Microsoft Mail
	id <01BE001A.F5E492E0@MUSE           >; Sun, 25 Oct 1998 13:25:40 -0000
Message-ID: <01BE001A.F5E492E0@MUSE           >
From: "Richard W.E. Furse" <richard@muse.demon.co.uk>
To: "'alsa-devel@jcu.cz'" <alsa-devel@jcu.cz>,
        "'nanook@linux.nu'"
	 <nanook@linux.nu>
Subject: Multichannel support [RE: EWS64 hacking]
Date: Sat, 24 Oct 1998 11:05:29 -0000
Reply-To: alsa-devel@alsa.jcu.cz
Sender: alsa-devel-owner@alsa.jcu.cz
Precedence: list

A question: does the ALSA driver support more than two channels? I've been 
considering buying an Event Gina card for a while--I've written some music 
with Ambisonics and an 8 channel output would make it really easy to build 
a speaker cube. Would this fit into the ALSA way of doing things? Does 
anyone have any idea how difficult it would be to write a driver for these 
cards? I had assumed that I'd have to work with Windows and have been 
holding off.

-- Richard

-----Original Message-----
From:	Martin Udden [SMTP:nanook@linux.nu]
Sent:	Friday, October 23, 1998 5:47 AM
To:	alsa-devel@jcu.cz
Subject:	EWS64 hacking

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
------
To unsubscribe from <alsa-devel@alsa.jcu.cz> mailing list send message
'unsubscribe' in the body of message to <alsa-devel-request@alsa.jcu.cz>.

begin 600 WINMAIL.DAT
M>)\^(B@-`0:0" `$```````!``$``0>0!@`(````Y 0```````#H``$(@ <`
M& ```$E032Y-:6-R;W-O9G0@36%I;"Y.;W1E`#$(`0V ! `"`````@`"``$$
MD 8`6 ,```(````0`````P``, ,````+``\.``````(!_P\!````00``````
M``"!*Q^DOJ,0&9UN`-T!#U0"`````&%L<V$M9&5V96Q :F-U+F-Z`%--5% `
M86QS82UD979E;$!J8W4N8WH`````'@`", $````%````4TU44 `````>``,P
M`0```!(```!A;'-A+61E=F5L0&IC=2YC>@````,`%0P!`````P#^#P8````>
M``$P`0```!0````G86QS82UD979E;$!J8W4N8WHG``(!"S !````%P```%--
M5% Z04Q302U$159%3$!*0U4N0UH```,``#D`````"P! .@$````>`/9?`0``
M`!(```!A;'-A+61E=F5L0&IC=2YC>@````(!]U\!````00````````"!*Q^D
MOJ,0&9UN`-T!#U0"`````&%L<V$M9&5V96Q :F-U+F-Z`%--5% `86QS82UD
M979E;$!J8W4N8WH``````P#]7P$````#`/]?``````(!]@\!````! ``````
M``,1`````P``, 0````+``\.`0````(!_P\!````/0````````"!*Q^DOJ,0
M&9UN`-T!#U0"```!`&YA;F]O:T!L:6YU>"YN=0!33510`&YA;F]O:T!L:6YU
M>"YN=0`````>``(P`0````4```!33510`````!X``S !````$ ```&YA;F]O
M:T!L:6YU>"YN=0`#`!4,`0````,`_@\&````'@`!, $````2````)VYA;F]O
M:T!L:6YU>"YN=2<````"`0LP`0```!4```!33510.DY!3D]/2T!,24Y56"Y.
M50`````#```Y``````L`0#H`````'@#V7P$````0````;F%N;V]K0&QI;G5X
M+FYU``(!]U\!````/0````````"!*Q^DOJ,0&9UN`-T!#U0"```!`&YA;F]O
M:T!L:6YU>"YN=0!33510`&YA;F]O:T!L:6YU>"YN=0`````#`/U?`0````,`
M_U\``````@'V#P$````$````````! (!^0\!````/0````````"!*Q^DOJ,0
M&9UN`-T!#U0"```!`&YA;F]O:T!L:6YU>"YN=0!33510`&YA;F]O:T!L:6YU
M>"YN=0````">K $$@ $`*0```$UU;'1I8VAA;FYE;"!S=7!P;W)T(%M213H@
M15=3-C0@:&%C:VEN9UT`. X!!8 #``X```#.!PH`& `+``4`'0`&`"H!`2" 
M`P`.````S@<*`!@`"@`C`#$`!@!;`0$)@ $`(0```#!!041&-34X,S4V0D0R
M,3%"-3,S,# P,$(T-34P1C$W`/$&`0.0!@`@"P``(0````L``@`!````"P`C
M```````#`"8```````L`*0```````P`N```````#`#8``````$ `.0"@("4V
M/O^]`1X`< `!````*0```$UU;'1I8VAA;FYE;"!S=7!P;W)T(%M213H@15=3
M-C0@:&%C:VEN9UT``````@%Q``$````6`````;W_/C8+6/6M#VLU$=*U,P``
MM%4/%P``'@`># $````%````4TU44 `````>`!\,`0```!D```!R:6-H87)D
M0&UU<V4N9&5M;VXN8V\N=6L``````P`&$,YW,!H#``<020@``!X`"! !````
M90```$%154535$E/3CI$3T535$A%04Q30412259%4E-54%!/4E1-3U)%5$A!
M3E173T-(04Y.14Q3/TE614)%14Y#3TY3241%4DE.1T)564E.1T%.159%3E1'
M24Y!0T%21$9/4D%72$D``````@$)$ $```#N!P``Z@<``)0,``!,6D9U7GE$
MV ,`"@!R8W!G,3(U)C(`^ M@;F<!T#4WG0'W( *D`^,"`&-H"L#@<V5T," '
M$P*#`%"A$'9P<G$R$79]"H#9",@@.PEO#C U`H *@6QU8P!0"P-C`$$/`C&8
M,#,S"Z81<"!Q"E (<W1I`B Z(&1OD0>1=&AE$7!,4Q?@"F0%$'8$D"!S=7!Z
M< D1( 1@"7 8X0.1= AW;R 0\6YN96P@<S\@22<9L"!BOPGA&T "( "0!($+
M@&<<,&QU>1T2`Y%%&; ","#:1PN 81M "Q$@`A %P(D>@'=H`Q!E+2T;\VYW
M!1 "0!QA<P-P&1!M[G4-T1] (#!H$7 &T 0`OP(@#> $( !P'M #D3@;1G(@
M"&!T<"-@'T (8&S;'M `P&L9$" P( EP!T"H;'D@)+!S)/!T&S#O'5 #$")A
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
M( 8``````, ```````!&``````.%`````````P`"@ @@!@``````P ``````
M`$8`````$(4````````#``6 "" &``````# ````````1@````!2A0``MPT`
M`!X`)8 (( 8``````, ```````!&`````%2%```!````! ```#@N, `#`": 
M"" &``````# ````````1@`````!A0````````L`+X (( 8``````, `````
M``!&``````Z%`````````P`P@ @@!@``````P ```````$8`````$84`````
M```#`#* "" &``````# ````````1@`````8A0```````!X`08 (( 8`````
M`, ```````!&`````#:%```!`````0`````````>`$* "" &``````# ````
M````1@`````WA0```0````$`````````'@!#@ @@!@``````P ```````$8`
M````.(4```$````!`````````!X`/0`!`````0`````````#``TT_3<``)@W
`
end


