From alsa-devel-owner@alsa.jcu.cz  Fri Jan  8 02:51:36 1999
Received: from smaux.kusm.kyoto-u.ac.jp (smaux.kusm.kyoto-u.ac.jp [130.54.53.12])
	by marvin.jcu.cz (8.9.1a/8.9.1) with SMTP id CAA08326
	for <alsa-devel@jcu.cz>; Fri, 8 Jan 1999 02:51:08 +0100
Received: (qmail 28107 invoked from network); 8 Jan 1999 10:50:56 +0900
Received: from ray.kusm.kyoto-u.ac.jp (130.54.53.49)
  by smaux.kusm.kyoto-u.ac.jp with SMTP; 8 Jan 1999 10:50:56 +0900
Received: (qmail 14695 invoked by uid 2161); 8 Jan 1999 01:50:55 -0000
Message-ID: <19990108105054.A14672@ray.kusm.kyoto-u.ac.jp>
Date: Fri, 8 Jan 1999 10:50:54 +0900
From: Yamahata Isaku <yamahata@kusm.kyoto-u.ac.jp>
To: alsa-devel@jcu.cz
Subject: serial midi
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary=5vNYLRcllDrimb99
Content-Transfer-Encoding: 7bit
Reply-To: alsa-devel@alsa.jcu.cz
Sender: alsa-devel-owner@alsa.jcu.cz
Precedence: list


--5vNYLRcllDrimb99
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hello.

 I ported serial midi patch for Open Sound System to ALSA,
and attached to this mail.
Extract archive to source tree of alsa-driver.
Edit lowlevel/general/Makefile,card/Makefile and compile it.

serial midi patch for OSS
http://crystal.apana.org.au/~ghansper/MidiAxis.html

TODO
 - license
   Serial midi patch for OSS is distributed under BSD-like license.
   I emailed to Hansper, the auther of original patch, for permition of
   distributing this under GNU GPL, now waiting for his replay. 
 - 32channel(2port)
 - test
   I tested only output on 2.0.36.
 - How should we handle irq?
   In ALSA irq is requested when module is loaded, and release
   when unloading by snd_register_irq,snd_unregister_irq.
   but currently, irq is requested when device is opened,
   freed when device is closed, as original does.
 - How should we handle ioport?
 - specifying parameters(irq, ioport, divisor) when module loading.

thanks.

---
Isaku Yamahata
yamahata@kusm.kyoto-u.ac.jp
CQG00274@nifty.ne.jp
http://www.kusm.kyoto-u.ac.jp/%7Eyamahata/
  

--5vNYLRcllDrimb99
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="alsa_serial.tgz.uu"

begin 666 alsa_serial.tgz
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
&`R4`H```
`
end

--5vNYLRcllDrimb99--

