M
martoncho
Hi all,
I am facing what is for me a really complicated situation. I program C
but not this advanced (I mean direct hardware access etc).
Here is the background:
I am using DJGPP.
I am programming a DOS program that will play wave files on certain
functions (moving through the menus, running functions, etc)
Today's motherboards come with AC97 sound boards that do not have
drivers compatible with DOS.
MAME (a videogame emulator) does have a library that uses the AC97
boards with no problems. It is named WSS and is made by Shigeaki
Sakamaki (the email address of the author is unknown)
I managed to make a standalone DOS wav player using the library. It
works perfectly.
I like to add the WSS library to the SEAL Audio library, which is
another neat audio library that also has a mixer, filters and etc, and
has functions for everything I need on my program. SEAL is here:
http://www.sonicspot.com/sealsdk/sealsdk.html
Here comes my problem:
I added WSS to the SEAL library and it sounds, but SLOWLY, it looks as
it is taking 100% of the CPU, and returns control to my program when it
wants. The main functions are easy: openaudio for detecting and
initializing the board (this one works great) and updateaudio which is
called every clock_per_second from my program.
Updateaudio is the issue here. I made a neat package with everything
I'm using, and some examples, like the standalone player, my
partially-working driver for SEAL and the driver I derived my work
from, and the MAME code that makes use of WSS and has a working
updateaudio function through it. Everything is commented and has a
description. I've been stuck and fighting with this for more than a
week and I'm on the point of needing help desperatedly. I can pay for
the time needed to look at it and to point me in the right direction.
Any help will be more than appreciated.
Package is here: http://24.232.64.200/sources.zip (85kb)
I am facing what is for me a really complicated situation. I program C
but not this advanced (I mean direct hardware access etc).
Here is the background:
I am using DJGPP.
I am programming a DOS program that will play wave files on certain
functions (moving through the menus, running functions, etc)
Today's motherboards come with AC97 sound boards that do not have
drivers compatible with DOS.
MAME (a videogame emulator) does have a library that uses the AC97
boards with no problems. It is named WSS and is made by Shigeaki
Sakamaki (the email address of the author is unknown)
I managed to make a standalone DOS wav player using the library. It
works perfectly.
I like to add the WSS library to the SEAL Audio library, which is
another neat audio library that also has a mixer, filters and etc, and
has functions for everything I need on my program. SEAL is here:
http://www.sonicspot.com/sealsdk/sealsdk.html
Here comes my problem:
I added WSS to the SEAL library and it sounds, but SLOWLY, it looks as
it is taking 100% of the CPU, and returns control to my program when it
wants. The main functions are easy: openaudio for detecting and
initializing the board (this one works great) and updateaudio which is
called every clock_per_second from my program.
Updateaudio is the issue here. I made a neat package with everything
I'm using, and some examples, like the standalone player, my
partially-working driver for SEAL and the driver I derived my work
from, and the MAME code that makes use of WSS and has a working
updateaudio function through it. Everything is commented and has a
description. I've been stuck and fighting with this for more than a
week and I'm on the point of needing help desperatedly. I can pay for
the time needed to look at it and to point me in the right direction.
Any help will be more than appreciated.
Package is here: http://24.232.64.200/sources.zip (85kb)