![]() |
|
SB16, Win98, Alleg42 |
Michael Austin
Member #7,608
August 2006
|
Hi, Trying to use Allegro on a Win98 machine with a Soundblaster 16 card. The proper drivers are installed, and the card works fine with everything else. I downloaded the allegro demo. (in the misc. package), along with the Binary dll on the allegro.cc website. Upon launching demo.exe, I receive a message box - "demo: Error initialising sound Failed to init digital sound driver OK" Click OK, and the demo continues to run, but with no sound. I have tried to change the sound driver by using the allegro.cfg [sound] digicard = x option, but it has not helped. Any ideas? Thanks. Michael Austin |
Richard Phipps
Member #1,632
November 2001
![]() |
Hi Mike, The strange thing is the DOS version seems to support SB16: Quote:
DIGI_AUTODETECT - let Allegro pick a digital sound driver
From: I wonder if this is a problem with the windows directX driver.. Looking at wdsound.c in the allegro source it seems that quite a few logging texts are made in debug mode. Would it be possible to compile allegro 4.2.0 in debug mode and see what is outputted to the console window? (I presume debugging mode outputs to that window..) |
Evert
Member #794
November 2000
![]() |
Quote: The strange thing is the DOS version seems to support SB16:
Of course it does! Quote: (I presume debugging mode outputs to that window..) Windows doesn't have a proper stderr, so no. It goes to allegro.log. |
Richard Phipps
Member #1,632
November 2001
![]() |
Quote:
Of course it does! What I meant was that if Allegro DOS had specific support for this then I would have expected the windows versions to be tested with that board too. That is, when the first windows version was made and that SB16 board was still used... |
Evert
Member #794
November 2000
![]() |
Quote: had
has. Quote: What I meant was that if Allegro DOS had specific support for this then I would have expected the windows versions to be tested with that board too..
The Windows version uses the Windows API; it doesn't use the soundcard directly. In other words, it shouldn't matter what soundcard it is used with, as long as Windows can use it. |
Richard Phipps
Member #1,632
November 2001
![]() |
So.. are you saying this is a DirectX problem, or a bug in the Allegro sound DirectX code? |
Evert
Member #794
November 2000
![]() |
Quote: are you saying this is a DirectX problem, or a bug in the Allegro sound DirectX code?
Yes. |
Richard Phipps
Member #1,632
November 2001
![]() |
Yet Mike A said the card worked fine with everything else? |
Evert
Member #794
November 2000
![]() |
Your point being...? |
Richard Phipps
Member #1,632
November 2001
![]() |
Quote: The Windows port (or UNIX port for that matter) shouldn't care what type of soundcard is installed on the machine, since it uses a hardware-independent API to acces it. So, it should work on a SB16 if other DirectX programs have no problems using it.. |
Evert
Member #794
November 2000
![]() |
Quote: So, it should work on a SB16 if other DirectX programs have no problems using it.. Yes, it should. I still don't see your point. Did you miss my 'yes' to your question 'are you saying this is a DirectX problem, or a bug in the Allegro sound DirectX code?' above? If so, then yes, it looks like a bug somewhere somehow. |
Richard Phipps
Member #1,632
November 2001
![]() |
Well, they were two questions which you gave one answer. Guess it was a little confusing. Anyway! Let's see if Mike Austin can use the debug version and see what part it's failing on. |
Evert
Member #794
November 2000
![]() |
Ah! The comma was relevant. I thought you meant 'is it a problem with one of these two things?', but you meant 'do you think it is a problem with this, or a problem with that?'? |
Michael Austin
Member #7,608
August 2006
|
The log file does not give any relevant info. The line(s) that is generating the error is here (from demo.c) if (install_sound(DIGI_AUTODETECT, MIDI_AUTODETECT, NULL) != 0) { allegro_message("Error initialising sound\n%s\n", allegro_error); install_sound(DIGI_NONE, MIDI_NONE, NULL); } and allegro_error is "Failed to init digital sound driver" I am going to have to work on getting a debugger on that machine to see if I can find out any more relevant information. Michael Austin |
Richard Phipps
Member #1,632
November 2001
![]() |
Mike is this with the special debug compiled version of allegro? There are lines like this: _TRACE("Can't set DirectSound cooperative level (%s).\n", ds_err(hr)); In the windows code, so I would expected a more detailed error. |
Runesabre
Member #7,573
August 2006
![]() |
Take this with a grain of salt... I recall reading on these forums a few weeks ago that for Windows sound problems, one should explicitly tell Allegro to use DirectX sound drivers because the default selected by AUTODETECT was an allegro specific driver and not necessarily the DirectX driver. So perhaps try using DIGI_DIRECTX instead of DIGI_AUTODETECT. _______________ |
Evert
Member #794
November 2000
![]() |
Better use the allegro.ini (I think...) config file for that, rather than hardcode it. |
|