miroSOUND PCM12 driver
PATCH 1/1 miroSOUND PCM12 driver
Hi,
I'm afraid nobody needs this driver, but perhaps I'm wrong here. The tenth birthday of this card is coming soon and now it's time to get an ALSA driver for the miroSOUND PCM12 :)
Any comments? Nevertheless my comments are:
- Two new Control Names introduced: "Radio" for the onboard radio and "Tone Control - xxx (k)Hz" for an equalizer control.
- I've tried to write support for all three miroSOUND cards PCM1 pro, PCM12 and PCM20 Radio, but only PCM12 (rev. E) is tested. Especially OPTi929 cards are completely untested.
- These cards have two mixers: ACI and OPTi9xx. Both are merged into one ALSA mixer device. That's different to OSS.
- OPL4 support is still missing, because I'm still waiting for response of my broken OPL4 chip. :(
- I never saw any docs about the cards. All knowledge is taken from ACI driver (OSS) and OPTi9xx (ALSA) drivers. I've done my best in copying bugs from there to this new driver :)
Summary: initial version of miroSOUND PCM1 pro, PCM12, PCM20 radio driver
Have fun
martin
Quoted 7 lines · Martin Langer
The tenth birthday of this card is coming soon and now it's time to get an ALSA driver for the miroSOUND PCM12 :)
Any comments?
+++ alsa-driver/isa/opti9xx/Makefile Fri Mar 11 18:51:05 2005
+obj-$(CONFIG_SND_MIRO) += snd-miro.o snd-opti92x-cs4231.o
Is there any reason for the dependency on the snd-opti92x-cs4231 driver?
Quoted 3 lines
MODULE_SUPPORTED_DEVICE("{{miroSOUND,PCM1 pro}, "
"{miroSOUND,PCM12}, " "{miroSOUND,PCM20 Radio}}");
The first entry in each pair should be the vendor name.
Quoted 2 lines
static int wss; /* unknown range */
static int ide; /* unknown range */
"unknown"? :-)
Quoted 10 lines
int
snd_miro_mixer(miro_t * miro)
...switch (miro->hardware) { case OPTi9XX_HW_82C924: strcpy(card->mixername, "ACI & OPTi924"); case OPTi9XX_HW_82C929: strcpy(card->mixername, "ACI & OPTi929"); default: strcpy(card->mixername, "ACI & OPTi9xx"); }
The default case cannot happen (bwahaha!), so it might make sense to put a snd_BUG() in there.
Quoted 2 lines
- OPL4 support is still missing, because I'm still waiting for response of my broken OPL4 chip. :(
Is it broken with the snd-opti92x-cs4231 driver, too?
Quoted 2 lines
- I never saw any docs about the cards. All knowledge is taken from ACI driver (OSS) and OPTi9xx (ALSA) drivers.
There are OPTi manuals on the ALSA FTP server.
Otherwise, it looks fine.
Regards,
Clemens
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
Quoted 3 lines · Clemens Ladisch
Quoted 2 lines · Martin Langer
The tenth birthday of this card is coming soon and now it's time to get an ALSA driver for the miroSOUND PCM12 :)
The new miro driver patch version 0.6 is attached.
Quoted 6 lines
Quoted 3 lines
+++ alsa-driver/isa/opti9xx/Makefile Fri Mar 11 18:51:05 2005
+obj-$(CONFIG_SND_MIRO) += snd-miro.o snd-opti92x-cs4231.oIs there any reason for the dependency on the snd-opti92x-cs4231 driver?
No, it's rubbish. I've removed it.
Quoted 5 lines
Quoted 3 lines
MODULE_SUPPORTED_DEVICE("{{miroSOUND,PCM1 pro}, "
"{miroSOUND,PCM12}, " "{miroSOUND,PCM20 Radio}}");The first entry in each pair should be the vendor name.
fixed.
Quoted 4 lines
Quoted 2 lines
static int wss; /* unknown range */
static int ide; /* unknown range */"unknown"? :-)
"wss" is only for PCM1 which I can't test with my PCM12.
"ide" isn't documented and I haven't tried ide out - it's postponed to later.
But perhaps 0 and 1 are the unknown values. Hmmm, there is still a smell of uncertainty in the air...
Quoted 11 lines
Quoted 10 lines
int
snd_miro_mixer(miro_t * miro)
...switch (miro->hardware) { case OPTi9XX_HW_82C924: strcpy(card->mixername, "ACI & OPTi924"); case OPTi9XX_HW_82C929: strcpy(card->mixername, "ACI & OPTi929"); default: strcpy(card->mixername, "ACI & OPTi9xx"); }
Quoted 2 lines
The default case cannot happen (bwahaha!), so it might make sense to put a
snd_BUG()in there.
good point. fixed.
Quoted 4 lines
Quoted 2 lines
- OPL4 support is still missing, because I'm still waiting for response of my broken OPL4 chip. :(
Is it broken with the snd-opti92x-cs4231 driver, too?
Yep, it's even broken with Win2000.
Quoted 4 lines
Quoted 2 lines
- I never saw any docs about the cards. All knowledge is taken from ACI driver (OSS) and OPTi9xx (ALSA) drivers.
There are OPTi manuals on the ALSA FTP server.
I wasn't precise here. I was looking for ACI or Miro specific documents. E.g. the OSS driver has no real equalizer implementation. I hope it's handled correct now, because it's still untested PCM20 stuff. OTOH, I haven't had a hole of knowledge in the OPTi part. There was no reason for looking into the OPTi specifications, the ALSA opti driver had all things inside (at least for me).
BTW, I just asked google and I've found two other intersting documents for addition to the ALSA ftp area:
Opti929:
http://ftp.cis.nctu.edu.tw/data/Multimedia/SoundCard/OPTi/82c929/db013_10.pdf
OPL4:
http://ftp.funet.fi/pub/msx/docs/datasheets/opl4.pdf
bye,
martin
Quoted 1 line · Martin Langer
The new miro driver patch version 0.6 is attached.
It's now in CVS.
Clemens
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click