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:

Installation steps:

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