VOGONS


First post, by Kahenraz

User metadata
Rank l33t
Rank
l33t

I did some tests using a PCI Yamaha YMF744 today using the latest WDM driver version 5.12.01.2228. While the output of the device was fine and the XG synthesizer was nice, other features were lacking or problematic. It's well known that WDM drivers for popular sound cards such as the Aureal Vortex and Creative Sound Blaster series do not provide legacy sound devices (Sound Blaster Pro compatibility, Adlib, etc), and VxD drivers must be used instead. This is also the case for Yamaha's drivers.

When doing testing, I found that some games didn't have audio at all. This was suspicious because audio was indeed working elsewhere. The best evidence I was able to find is that this card, drivers, or some combination of the two, does not support hardware buffers. This can be demonstrated using the sound test in dxdiag; after testing the software buffer it will report an error about hardware buffers being unavailable.

One example of this is Incoming, which had no sound effects. It is a Windows game and uses the DirectX 5 API. I didn't do any further testing, since this combination was found to be unsuitable for my use case.

Reply 1 of 8, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
Kahenraz wrote on 2022-06-09, 19:26:

I did some tests using a PCI Yamaha YMF744 today using the latest WDM driver version 5.12.01.2228. While the output of the device was fine and the XG synthesizer was nice, other features were lacking or problematic. It's well known that WDM drivers for popular sound cards such as the Aureal Vortex and Creative Sound Blaster series do not provide legacy sound devices (Sound Blaster Pro compatibility, Adlib, etc), and VxD drivers must be used instead. This is also the case for Yamaha's drivers.

When doing testing, I found that some games didn't have audio at all. This was suspicious because audio was indeed working elsewhere. The best evidence I was able to find is that this card, drivers, or some combination of the two, does not support hardware buffers. This can be demonstrated using the sound test in dxdiag; after testing the software buffer it will report an error about hardware buffers being unavailable.

One example of this is Incoming, which had no sound effects. It is a Windows game and uses the DirectX 5 API. I didn't do any further testing, since this combination was found to be unsuitable for my use case.

I think official Yamaha WDM drivers are somewhat crippled. The WDM driver shipped with Windows ME/2K/XP (known as Yamaha DS-1) appears to work better in some cases and also supports FM synth.

If you can find the related files for the DS-1 driver from WinME installation files you probably could install that driver on Win98SE as well.

Reply 2 of 8, by Kahenraz

User metadata
Rank l33t
Rank
l33t

Can you clarify what you mean by FM synthesis with the WDM divers? I know that it's possible to sometimes get FM synthesis as a General MIDI device, but this is not the same as having FM on Adlib port 0x388.

Reply 3 of 8, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
Kahenraz wrote on 2022-06-12, 11:50:

Can you clarify what you mean by FM synthesis with the WDM divers? I know that it's possible to sometimes get FM synthesis as a General MIDI device, but this is not the same as having FM on Adlib port 0x388.

When using Microsoft's Yamaha DS1 WDM driver (shipped with Windows ME/2K/XP), the option to use the FM as the MIDI output will be available. If you install Yamaha's WDM driver you lose the option to use the FM.

It has nothing to do with General MIDI, as Microsoft's DS1 driver has a Legacy portion which provides the FM on port 0x388, as well as other Sound Blaster resources.

PS: You can't use Yamaha's DS-XG Control Panel with Microsoft's DS1 driver.

Reply 4 of 8, by Kahenraz

User metadata
Rank l33t
Rank
l33t

I tried this Microsoft driver with a Yamaha YMF724 and YMF744. While I was able to get Adlib working, I could only do so via the SoundBlaster port and not the Adlib port 0x388. This meant that the default "Adlib" option didn't work.

Getting Adlib to work via Sound Blaster also only worked when it did not conflict with Window's built-in WDM Sound Blaster that resides on port 0x220. If I configure the Yamaha resource to use Sound Blaster port 0x220, then the FM stops working, but sound effects are fine. If I configure the Yamaha Sound Blaster port to 0x260, then Adlib will work, but sound effects will not (they are still on port 0x220).

In summary, sound effects always work with WDM drivers, no matter what sound card you use. These Microsoft drivers do allow Adlib to work, but only via the Sound Blaster port, and it is mutually exclusive with sound effects. I couldn't find any way to get Adlib working on port 0x388. I tried many different resource combinations in the Yamaha resources tab, but I couldn't find anything that worked otherwise.

Reply 5 of 8, by bloodem

User metadata
Rank Oldbie
Rank
Oldbie

Are you doing these tests in Win98? If yes, any reason why you’re not using the VXD drivers? They work great on most platforms.

1 x PLCC-68 / 2 x PGA132 / 5 x Skt 3 / 9 x Skt 7 / 12 x SS7 / 1 x Skt 8 / 14 x Slot 1 / 5 x Slot A
5 x Skt 370 / 8 x Skt A / 2 x Skt 478 / 2 x Skt 754 / 3 x Skt 939 / 7 x LGA775 / 1 x LGA1155
Current PC: Ryzen 7 5800X3D
Backup PC: Core i7 7700k

Reply 6 of 8, by Kahenraz

User metadata
Rank l33t
Rank
l33t

None of the Yamaha PCI cards work with this particular motherboard when using VxD drivers (system hard locks or bluescreens), so this is not an option.

The purpose of this thread was to point out that genuine Adlib FM synthesis on port 0x388 seems to be unavailable on any card with any WDM driver. I was very surprised to find that it was almost possible with the Microsoft driver.

Reply 7 of 8, by bloodem

User metadata
Rank Oldbie
Rank
Oldbie
Kahenraz wrote on 2022-06-14, 05:28:

None of the Yamaha PCI cards work with this particular motherboard when using VxD drivers (system hard locks or bluescreens), so this is not an option.

Got it. Yeah, encountered this issue myself when using it on more modern motherboards (with the Intel 865 chipset).

1 x PLCC-68 / 2 x PGA132 / 5 x Skt 3 / 9 x Skt 7 / 12 x SS7 / 1 x Skt 8 / 14 x Slot 1 / 5 x Slot A
5 x Skt 370 / 8 x Skt A / 2 x Skt 478 / 2 x Skt 754 / 3 x Skt 939 / 7 x LGA775 / 1 x LGA1155
Current PC: Ryzen 7 5800X3D
Backup PC: Core i7 7700k