VOGONS


UNISOUND - Universal ISA PnP Sound Card Driver for DOS v0.82a

Topic actions

Reply 740 of 754, by megatog615

User metadata
Rank Newbie
Rank
Newbie

For some reason UNISOUND is setting up my AWE64 with DMA1/HighDMA1 on the first try. Starting BLOOD results in a crash complaining about high DMA being incorrect. Running UNISOUND again after that sets up DMA1/HighDMA5 as expected from my BLASTER variable:

BLASTER=A220 I5 D1 H5 P330

...which is the FreeDOS default.

Reply 741 of 754, by Pickle

User metadata
Rank Member
Rank
Member
megatog615 wrote on 2025-04-30, 01:24:
For some reason UNISOUND is setting up my AWE64 with DMA1/HighDMA1 on the first try. Starting BLOOD results in a crash complaini […]
Show full quote

For some reason UNISOUND is setting up my AWE64 with DMA1/HighDMA1 on the first try. Starting BLOOD results in a crash complaining about high DMA being incorrect. Running UNISOUND again after that sets up DMA1/HighDMA5 as expected from my BLASTER variable:

BLASTER=A220 I5 D1 H5 P330

...which is the FreeDOS default.

stupid question but do you have a SET before that in the autoexec.bat?
also i cant remember if it was case when i had freedos running, but maybe there is a SET BLASTER overriding the one you intend to use. Are you just running unisound command or does include the set blaster you intended as well?
maybe as a test make a batch file with the setblaster and unisound and run it once you hit the prompt.

Reply 742 of 754, by vico

User metadata
Rank Member
Rank
Member
megatog615 wrote on 2025-04-30, 01:24:
For some reason UNISOUND is setting up my AWE64 with DMA1/HighDMA1 on the first try. Starting BLOOD results in a crash complaini […]
Show full quote

For some reason UNISOUND is setting up my AWE64 with DMA1/HighDMA1 on the first try. Starting BLOOD results in a crash complaining about high DMA being incorrect. Running UNISOUND again after that sets up DMA1/HighDMA5 as expected from my BLASTER variable:

BLASTER=A220 I5 D1 H5 P330

...which is the FreeDOS default.

I think the BLASTER variables that FreeDOS sets by default are based solely on the most common variables, not on your hardware configuration.
To get the actual values, you should use a tool like ctcmbbs, or you could look them up in the Windows 9x Device Manager if you have it installed.

https://www.philscomputerlab.com/creative-labs-drivers.html

Reply 743 of 754, by megatog615

User metadata
Rank Newbie
Rank
Newbie
vico wrote on 2025-04-30, 02:57:
I think the BLASTER variables that FreeDOS sets by default are based solely on the most common variables, not on your hardware c […]
Show full quote
megatog615 wrote on 2025-04-30, 01:24:
For some reason UNISOUND is setting up my AWE64 with DMA1/HighDMA1 on the first try. Starting BLOOD results in a crash complaini […]
Show full quote

For some reason UNISOUND is setting up my AWE64 with DMA1/HighDMA1 on the first try. Starting BLOOD results in a crash complaining about high DMA being incorrect. Running UNISOUND again after that sets up DMA1/HighDMA5 as expected from my BLASTER variable:

BLASTER=A220 I5 D1 H5 P330

...which is the FreeDOS default.

I think the BLASTER variables that FreeDOS sets by default are based solely on the most common variables, not on your hardware configuration.
To get the actual values, you should use a tool like ctcmbbs, or you could look them up in the Windows 9x Device Manager if you have it installed.

https://www.philscomputerlab.com/creative-labs-drivers.html

Maybe, but UNISOUND's documentation says that it sets these values from the BLASTER variable, not anything else, from what I can tell.

Pickle wrote on 2025-04-30, 01:56:

stupid question but do you have a SET before that in the autoexec.bat?
also i cant remember if it was case when i had freedos running, but maybe there is a SET BLASTER overriding the one you intend to use. Are you just running unisound command or does include the set blaster you intended as well?
maybe as a test make a batch file with the setblaster and unisound and run it once you hit the prompt.

Yes, UNISOUND is being loaded after BLASTER is set.

Don't forget that UNISOUND is setting High DMA to 5 after a game loaded. If I run UNISOUND twice in a row it doesn't fix it. Only after Blood crashes does it set correctly.

Reply 744 of 754, by JazeFox

User metadata
Rank Member
Rank
Member

Hi!
It's been a while since the last update! Real life rules.

I'm planning a bugfix and some little improvement release for the next week (soon (tm)).
Now, although a little late, answers to some questions (sorry if not all, but some are already answered in the first post FAQ, that now is required to be read!):

Cryptus wrote:

This driver is really nice!
Just one question, is it possible to implement an errorlevel (for use in batch files), e.g. errorlevel 1 if driver was not loaded (because of wrong option or soundcard not detected) and errorlevel 0 (only) in case of success? (or vice versa)

and...

megatog615 wrote:

I am also wondering if there is any documentation on this. I'm trying to set up a hardware detection batch file and error levels would be fantastic.

Yes! This is implemented in the next version, to be released soon! (tm) 😀

theelf wrote:

Hi, thanks a lot for your great work, i use unisound in almost all my machines, is amazing
I have a question, i tried to use Reverb (/VRnn) and Chorus (/VUnn) option in my AWE64 Gold, but nothing happen, is gold supported? thanks

Yes, it's tested in the AWE64 Gold and it works, but please note that this option only applies to FM sound processing, not wavetable.

Grzyb wrote:
I've found a case where the original init utility works properly, but UNISOUND fails... […]
Show full quote

I've found a case where the original init utility works properly, but UNISOUND fails...

The sound card is some generic noname based on Opti 82C933.
The OS is Windows 98SE with BootGUI=0.
....
Again, everything's fine - notably I can hear both FM and PCM, eg. in SkyRoads.
Now, Windows...
...
Now, let's replace SNDINIT with UNISOUND...
...
MP3 still plays fine, but... .MID playback fails!
Looks like it's playing, but can't hear anything...
...
More interesting is the fact that "Adlib" ports got changed as well - after SNDINIT it's 380-38B (strange, but works), after UNISOUND it's 388-393 (looks somewhat normal, but doesn't work)...

Yes, It's interesting because this is a new scenario. Never used Windows 9x after Unisound (because it's not supposed to be used like this), but anyway... I tested, and it seems that OPTi Windows driver needs Adlib part to start at 0x3x0 to work properly. This can be solved with a change I made for the next version, you'll be able to specify an OPL address between 0x300 and 0x3FF (so you will be able to set F380 in BLASTER var). Tested and it works.

Geri wrote:

You have mentioned its freeware, however, can it be bundled with other software (free or commercial games for example as a generic driver)?

Yes! It can be distributed and bundled freely with any program or game. No limitations, no need to ask for permission! I added this to FAQ in the first post and will add the same info on the TXT for the next versions.

Kekkula wrote:
Not a bug but feature... Since unisound is mainly for pnp cards. I use unisound with sound blaster 16 CT2290 card, and noticed t […]
Show full quote

Not a bug but feature... Since unisound is mainly for pnp cards.
I use unisound with sound blaster 16 CT2290 card, and noticed that unisound doesn't apply SET BLASTER settings. If I configure environment mpu to 300 unisound allways change it to 330. Doesn't matter if the card is jumppered to 300 and set sound has p300 in it.
If I disable mpu by jumper in the card unisound still sets it to p330 even if it's not configured at all in set blaster or is configured p0.
Luckily machine still regonices sound blaster mpu disabled and I can use my picogus as intelligent mode hard mpu card.

Edit: I don't know what changed but now it recognise jumper setting and disables mpu if jumper on the card is set disabled...
But strangely if the jumper is set enabled and address is set @300 unisound still sets mpu to 330.

Well, let's explain why this is working like this in your case: With SB16 Non-PnP cards, there a lot of variants, some of them are fully software configurable and some are half-software and half-jumpered configurable. In any case, when Unisound initializes a Non-PnP SB16, it tries to set the software configurable part, and then it checks the values in the card and it shows them. In your case, as the MPU part is jumpered, Unisound doesn't "set" or "apply" anything there, it only checks if MPU is working at some address and shows the info. But your case is special, because I guess you have the PicoGUS plugged too, with MPU mode activated, so even though you disabled or changed MPU jumper in the SB16, if Unisound check MPU addresses and if it finds one that is working (the first in reverse order), maybe the PicoGUS one, it shows it. Unisound is not able to know if the port is on the PicoGUS or the SB16.

theelf wrote:
Hi guys, im building a P2 machine, zida bx98-3d, awe64 gold […]
Show full quote

Hi guys, im building a P2 machine, zida bx98-3d, awe64 gold

Unisound crash in ram detection in first isa slot, and in second just detect 0kb

Official creative driver, ctcm, detect fine and card works good. Aweutil is able to emulate gm, mt32, and no problem to upload 4mb sound bank

any ideas?thanks
EDIT Happen same with gold and value awe64

Hi, this is very very strange. AWE detection is thoroughfully tested in a lot of systems and variants. Please, provide more details (I know I insist a lot on this but it is VERY important), all the machine specs, all cards plugged of any type, OS, Unisound version (should be latest 😉) if it happens in other systems with the same AWE card, a photo or exact reproduction of the entire Unisound output after running, the contents of your CONFIG.SYS and AUTOEXEC.BAT...
I'm interested on this issue, I we're able to reproduce it.

AirIntake wrote:

My IBM Aptiva E2N 2153 has an onboard Crystal CS4235-KQ. It works fine in Windows 98 and DOS using the drivers pv2860.zip from Philscomputerlab.com. It doesn't get detected by Unisound though, giving me the error "Unknown PnP card [CSC8025] found. Aborting...". Any ideas?

Hi, thanks for reporting. Support will be added in the next version. When it arrives, pelase test and report.

ltning wrote:
I'm one of those people who have to automate everything, so I have a bunch of BAT files that take care of sound, networking, mou […]
Show full quote

I'm one of those people who have to automate everything, so I have a bunch of BAT files that take care of sound, networking, mouse, and whichever other drivers I need on any given machine. I'm obviously using UNISOUND for much of this, but there's a tiny thing that is bugging me: There is no "detection only" mode for non-PnP cards.
...
That's basically what this feature request boils down to: UNISOUND does everything I need it to do. I'm just bugged by the fact that I can't use it to detect - or rather, confirm the existence of - non-PnP cards in the system *without also initing them*.

So in case it was not clear: I love unisound, this is not a flaw. Just me being silly, I guess. 😁

Hi! thank you for your words, as usual 😀
Well, first of all, Non-PnP suppport is EXPERIMENTAL, and as I said other times, anything could happen. And, for now, no new cards or features will be added.
That said, the feature you want is (I think) not possible. The methods needed for some Non-PnP cards to be detected imply some minimal "initialization", so it would be a mess if you to "detect" (and partially initialize a card) and then try to detect another. Ugly things could happen. I prefer to keep it the way it's working now. Also remember, that this Non-PnP feature is intended to be used with only ONE card plugged in the system.

keropi wrote:

Does unisound support the AuxB volume setting for the ESS 1868/1869 chips?
I cannot seem to find any setting for this, am I missing something?

Yes! but it's tied to /VFxx, because all known implementations use this for External wavetable only. Anyway, I see the use case of the MK1869 and this will have a separated option in the next version!

megatog615 wrote:
For some reason UNISOUND is setting up my AWE64 with DMA1/HighDMA1 on the first try. Starting BLOOD results in a crash complaini […]
Show full quote

For some reason UNISOUND is setting up my AWE64 with DMA1/HighDMA1 on the first try. Starting BLOOD results in a crash complaining about high DMA being incorrect. Running UNISOUND again after that sets up DMA1/HighDMA5 as expected from my BLASTER variable:

BLASTER=A220 I5 D1 H5 P330

...which is the FreeDOS default.

.......

UNISOUND is being loaded after BLASTER is set.

Don't forget that UNISOUND is setting High DMA to 5 after a game loaded. If I run UNISOUND twice in a row it doesn't fix it. Only after Blood crashes does it set correctly.

Hi, that behavior is really strange. Just to be sure, I tried to reproduce your settings, but everything worked well:
- Plugged an AWE64
- Formatted HDD
- Installed a clean copy of FreeDOS, last version available in the official site (It sets by default BLASTER=A220 I5 D1 H5 P330)
- Installed BLOOD
- Ran Unisound (It shows the correct setting, H5, it reports BLASTER var found.)
- Ran BLOOD SETUP and set AWE for FX and music, IRQ 5, DMA1 1, DMA2 5, 16 bit mixing.
- Ran BLOOD, it works perfectly.
- Rebooted and repeated all steps with all options, everything worked at the first try.

There must be something in your setup that is different. But you did not provide any details. so please, I will say it again: (I know I insist a lot on this but it is VERY important), provide all the machine specs, all cards plugged of any type, OS version, Unisound version (should be latest 😉) if it happens in other systems with the same AWE card, a photo or exact reproduction of the entire Unisound output after running, the contents of your CONFIG.SYS and AUTOEXEC.BAT... Also show the output of "SET" before and after you do all the steps.

---------------

Greetings to all, see you soon!

Before posting, please, read the FAQ in the first post! Thanks!
Respect, and be happy! 😀

Reply 745 of 754, by Linoleum

User metadata
Rank Member
Rank
Member
megatog615 wrote on 2025-04-30, 01:24:
For some reason UNISOUND is setting up my AWE64 with DMA1/HighDMA1 on the first try. Starting BLOOD results in a crash complaini […]
Show full quote

For some reason UNISOUND is setting up my AWE64 with DMA1/HighDMA1 on the first try. Starting BLOOD results in a crash complaining about high DMA being incorrect. Running UNISOUND again after that sets up DMA1/HighDMA5 as expected from my BLASTER variable:

BLASTER=A220 I5 D1 H5 P330

...which is the FreeDOS default.

I had that "problem" once with my AWE64... It was when I was using an "old" SET BLASTER setting from a SB PRO that only had "D1" and no "H#". Unisound then made it D1/H1...

P3 866, V3, SB Audigy 2
P2 300, TNT, V2, Audigy 2 ZS
P233 MMX, Mystique 220, V1, AWE64
P100, S3 Virge GX, AWE64, WavetablePi & PicoGus
Prolinea 4/50, ET4000, SB 16, WavetablePi
486DX2 66, CL-GD5424, SB 32, SC55
SC386SX 25, TVGA8900, Audician32+

Reply 747 of 754, by megatog615

User metadata
Rank Newbie
Rank
Newbie
Linoleum wrote on 2025-04-30, 19:28:
megatog615 wrote on 2025-04-30, 01:24:
For some reason UNISOUND is setting up my AWE64 with DMA1/HighDMA1 on the first try. Starting BLOOD results in a crash complaini […]
Show full quote

For some reason UNISOUND is setting up my AWE64 with DMA1/HighDMA1 on the first try. Starting BLOOD results in a crash complaining about high DMA being incorrect. Running UNISOUND again after that sets up DMA1/HighDMA5 as expected from my BLASTER variable:

BLASTER=A220 I5 D1 H5 P330

...which is the FreeDOS default.

I had that "problem" once with my AWE64... It was when I was using an "old" SET BLASTER setting from a SB PRO that only had "D1" and no "H#". Unisound then made it D1/H1...

H5 is definitely being set in BLASTER.

An update, sometimes if I type out unisound manually it will see DMA 5. No idea what's going on, it's seemingly random.

Reply 748 of 754, by JazeFox

User metadata
Rank Member
Rank
Member

Hi!

New release, with some bug fixes for known and reported problems and small additions.

Tool updated to v0.82a

Changelog:

  • Added support for AuxB volume control on ESS 186x cards using /VBxx (00-99). Useful for cards like MK1869 which have onboard Wavetable and also a Wavetable header. If /VBxx is not specified, behaviour is like in previous versions. If /VBxx is specified, /VFxx will control FM volume and onboard Wavetable and /VBxx will control AuxB separately. Example uses with MK1869: /VF00 /VB90 will mute onboard WT and will put external WT board to 90% vol. And /VF80 /VB00 will mute external WT and will put onboard WT to 80% vol.
  • Added support for Rockwell RWA011 cards that remained muted in previous versions (like Zoltrix Radio Max). If detected, they will get unmuted correctly. If your RWA card remains muted, please try with option /XRU
  • Added support for new card variants: ESS Samsung Audio Magic X SAB-3000A, Crystal CS4235 based ID CSC8025 and generic CMI 83xx variants (not tested).
  • Let user change Adlib/OPL/FM port to any port in range 0x300-0x3FF. This will allow, for example, to assign value F380 in BLASTER var to fix the problem with OPTi 931/933 chips not playing adlib sounds when running Win9x after Unisound.
  • Fixed reading OPTi DMA2 different to disabled/4.
  • Fixed CS4232 MIC input control.
  • Added *EXPERIMENTAL* support for Non-PnP OPTi 82C930 based sound cards, configurable resources: Base Address, IRQ, DMA, MPU port, MPU IRQ, Joyport. Use at your own risk.
  • Implemented ERRORLEVEL on exit. 1 = Card not found/Unknown. 0 = OK/Other.

The download link is updated at the end of the first post as usual:
UNISOUND - Universal ISA PnP Sound Card Driver for DOS v0.82a

And please, read the FAQ in the first post and the TXT before posting. Thanks!

Before posting, please, read the FAQ in the first post! Thanks!
Respect, and be happy! 😀

Reply 750 of 754, by Mr.Hunt

User metadata
Rank Newbie
Rank
Newbie

Огонь, брат! Спасибо большое! 👍

Reply 751 of 754, by Jccwu

User metadata
Rank Member
Rank
Member

does the program work with non-pnp cards (non creative), and if so, with what key?

Sound card's music

Reply 752 of 754, by vico

User metadata
Rank Member
Rank
Member
Jccwu wrote on 2025-05-05, 17:54:

does the program work with non-pnp cards (non creative), and if so, with what key?

Yes, with the /NOPNP option, look at the UNISOUND.TXT file for a list of compatible sound cards

Last edited by vico on 2025-05-06, 13:21. Edited 1 time in total.

Reply 753 of 754, by moturimi1

User metadata
Rank Member
Rank
Member
JazeFox wrote on 2025-05-05, 07:36:

Hi!
New release, with some bug fixes for known and reported problems and small additions.
Tool updated to v0.82a

Great to see that you are still involved in this great project of yours.

I would like to know if you plan on improving the detection of the Kurzweil Pinnacle soundcard.
Unfortunately the card I own is not detected.
The card is configured as PNP device.
When I use Unisound.exe without any additional option it is completely unknown by Unisound.
When I try "Unisound.exe /FS" I get the information "unknown PNP card [BVJ0440] found. Aborting."
The main issue I have with the original init tool is that the mixer settings are off. When I want to use wavetable under DOS it sounds distorted.
Instead, when I start Windows with the correct drivers installed and then I shutdown to DOS the mixer values are fine.

If I can support you please let me know. I can extract the content of the EEPROM and ROM Chips on the card which have the rev 1.4 and 1.04 if that helps.

Reply 754 of 754, by AirIntake

User metadata
Rank Member
Rank
Member
JazeFox wrote on 2025-04-30, 18:21:
AirIntake wrote:

My IBM Aptiva E2N 2153 has an onboard Crystal CS4235-KQ. It works fine in Windows 98 and DOS using the drivers pv2860.zip from Philscomputerlab.com. It doesn't get detected by Unisound though, giving me the error "Unknown PnP card [CSC8025] found. Aborting...". Any ideas?

Hi, thanks for reporting. Support will be added in the next version. When it arrives, pelase test and report.

I tested v0.82a and it now works perfectly with the onboard Crystal CS4235-KQ. Thanks very much!

Casio BE-300 Advancement Society (be300.org) alumni