Minix3 AC'97 Sound Driver for ICH4
About
Implementation of AC'97 Sound Driver for ICH4 under Minix3 was a part of my bachelor thesis. Now the
implementation is finished and I will share the results of my work with other
Minix3 users.
The driver package intel8x0.tar includes:
- AC'97 Sound Driver for ICH4
- Simple mp3 player based on mp3lib
- Mixer (not completed yet)
- Playwave and recwave tools from Minix3
Installation steps:
- Unpack le intel8x0.tar to /usr/src/drivers directory.
- Change directory to /usr/src/drivers/intel8x0 and compile the driver using make command.
- Simalairly compile mp3player, playwave and recwave tools.
- Start the driver using start.sh script.
To test the functionality we can use the playwave program which can be found in ./IBM/ or our simple mp3 player located in ./mp3player directory. You can play some music using ./mp3play <filename.mp3> command.
Driver has been successfully tested with Minix version 3.2.1a on ICH4 chipset. It is possible that this driver will work well with other chipsets too meaning
ICH, ICH0, ICH3, ICH5, ICH6. The driver will automatically detect these chipsets, but the functionality hasn't been tested yet.
Future work
As for the further development the volume mixer should be completed. Only drawing of mixer control in "ALSA style" is implemented yet. The mp3 player should be modified and compiled for i586 or MMX to speed up decoding process. Mp3 player process takes ca. 70% of CPU time now. There is also one problem with recording -- it doesn't work. At the time I don't know where is the problem, but I found out that the interrupt isn't received (or captured by the driver) after the bus master operation is started.
Download
Bachelor thesis:
thesis.pdf (365 kB)
Driver:
intel8x0.tar (416 kB)
Testing sound:
startup.wav (2000 kB)
wave1.wav (268 kB)
wave2.wav (960 kB)
wave3.wav (960 kB)
Conclusion
Please let know after you have tested this driver on other chipsets. I am also interested in solving that recording problem, finishing and debugging my code.
Author
Jozef Hopko, Faculty of Informatics and Information Technologies, Slovak University of Technology in Bratislava
hopko04 [ a t ] student [dot] fiit [dot] stuba [dot] sk