VOGONS


Reply 500 of 510, by zapbuzz

User metadata
Rank Oldbie
Rank
Oldbie
JazeFox wrote on 2020-03-13, 00:32:
Hi there! […]
Show full quote

Hi there!

I made a DOS tool for my own use some time ago, but I decided to release it, because I think it may be useful for someone else, so here it is:

It is called "Unisound", or Universal ISA PnP Sound Card Driver for DOS.
Current version is: v0.78b (Download link at the end of this post).

UNISOUND is a Freeware DOS-only tool useful to configure and initialize ISA PnP sound cards from serveral brands and models, like ESS, Creative, ALS, CMI, ADI, Yamaha, Diamond tech, Aztech, OPTi, Crystal, community-made ones like Orpheus, AWE64 Legacy... (And also some non-PnP cards, like early SB16 software configurable models which required DIAGNOSE.EXE, are supported). Works on all x86 CPUs (8088/8086/286/386... and higher). Check the TXT included in the ZIP file for full details. To get command line help, use: UNISOUND /H

It is not only an ISA PnP sound card configuration tool, it's more like a driver. To initialize some cards properly, the PnP part is not enough, as a lot of them need further initialization sequences that in most cases are bad documented or no documented at all, or are obscure. This tool tries to be (almost) all-in-one solution, trying to do a full card initialization, and set some mixer values, in only ~40Kb. (Some cards as AWE cards, GUS PnP, or Maxi sound 64+SAM, CS4232... require special inits or firmware uploading. That is covered in the tool).

This tool has taken a lot of time, researching over technical documentation of the card's/chip's manufacturers, reverse engeneering, and having some headaches, too.

I wrote a complete TXT (it is included in the ZIP file I attached at the end of the post) to explain it (background, usage, supported cards in this version, special notes, tested systems, version history...).

This tool is FREEWARE! You can use an distribute it freely. If you paid for it you have been scammed!

About bug reporting here: Please, provide all info and details you can. Unisound version, text outpunt in screen, brand and model of your card(s), chips you can see there, system specs, CPU, board, other cards you have, photos...

Here is a small extract of the important parts of the readme (read the TXT in the ZIP file for a more extense explanation):

Extract From 1- Background ========================== […]
Show full quote

Extract From 1- Background
==========================

The main problem when you want to use your sound cards, is the
configuration and initialization, as it depends on a lot of stuff, like:
The type of CPU , if the machine has a PnP BIOS or not the PnP software to
use (CTCM/CTCU for Creative, Intel ICU, propietary software for others)
so finally you end up having a lot of files and a big mess of CONFIG.SYS and
AUTOEXEC.BAT lines.

Tired of all that stuff, I wanted to do something to minimize everything
involved to my card's initialization. Only one file, very small size,
(in fact it could be used to be fitted even in a floppy disk together with
a game if you want), and no need for anything else to get a card working,
with mixer settings (Master vol, Wave/DAC vol, FM/Synth/WT vol, Line-in vol,
Mic vol, CD vol and some more for Creative cards like Trebble, Bass...).
Some "useless" stuff disabled by default (Modem, IDE...) Well, IDE is
disabled by default but it is user-configurable with a custom parameter in
BLASTER environment variable Cxxx. Check the Usage section (2) of the TXT
for more info on this.

**IMPORTANT WARNING**:
This tool does *NOT* check for resource conflicts, so if you configure your
cards with already used ports, IRQs, DMAs... you may notice problems, like
hangs, corruptions, even damage to your data if you are not careful. You
have been warned!! I am not responsible for any damage.
In addition, this tool does not check if the settings you provide are right
or wrong (only very basic check like usual ranges of addresses and IRQs...,)
and will try to avoid some known issues with duplicated DMAs in some cards...
you are supposed to know what are you doing. *Use at your own risk!!*

Extract From 2- Usage ========================== […]
Show full quote

Extract From 2- Usage
==========================

UNISOUND (without options): initializes 1st PnP card found in the system
with internal default resource settings and the following Mixer volume
defaults: ~85% Master vol, 80% Wave vol, 80% FM/Synth vol, 0% Line in vol,
0% Mic vol, 0% CD vol. And for compatible Creative cards, Treble and Bass
levels are 50% by default, and PC SPeaker-in 0%.
Check below for command line options (for more than 1 card present, use
/Cn option, to select the n card to initialize)

The tool default values, if no environment variable is found, are (optional
args for some cards with special resources are between brackets):

For SB or SB compatible cards:
ADDR: 220, IRQ: 5, DMA1: 1, DMA2: 1, MPU: 330, (AWE: 620), (WSS: 530), (JOY: 200),
(CD-IDE: 0), (OPL: 388), (MPUIRQ: 9),(CMI WSSIRQ:0),(CMI WSSDMA:0)

For GUS PnP:
ADDR: 240, CODEC: 34x, DMA1: 3, DMA2: 3, IRQ: 11

If BLASTER (or ULTRASND for GUS PnP) environment var is found, UNISOUND will
use its values to configure the card. If not, Unisound default values will
be used.

Usage: UNISOUND [options]

Options:
/Cn Select PnP card number 'n' to initialize/read (n = 1 to 9) (optional)
/CS Initialize non-PnP Creative card (SB16 & AWE32)
/CL List all PnP cards present in the system
/F Faster PnP detection process
/R Read PnP card current settings only (can be used with /Cn)
/D Disable PnP sound card (can be used with /Cn)
/Vnn Set Master Volume level to 'nn' % (00-99)
/VWnn Set Wave Volume level to 'nn' % (00-99)
/VFnn Set FM/Synth/WT Volume level to 'nn' % (00-99)
/VLnn Set Line-in Volume level to 'nn' % (00-99)
/VCnn Set CD Volume level to 'nn' (00-99)
/VMnn Set Mic Volume level to 'nn' (00-99)
/VPnn Set PC Speaker-in Volume level to 'nn' (00-99) (Creative)
/VTnn Set Treble level to 'nn' (00-99) (Compatible cards)
/VBnn Set Bass level to 'nn' (00-99) (Compatible Creative cards)
/Xxxx eXtened cards settings (see section 5 for details)
/H /? Help screen

The /D Command line option is useful to disable a PnP sound card.
This option will free all card's resources (I/Os, IRQs, DMAs) and will
disable all logical devices. The card will return to uninitialized state.

With /CL a numbered list of the cards is presented like this:

------------------------------------------
Card #1 [GRV0001] Ultrasound Plug & Play
Card #2 [ESS1868] ESS ES1868 Plug and Play Audiodrive

Some BLASTER env special parameters (optional) can be used for extra config. P.e.:
A220 I5 D1 H1 P330 E620 W530 J200 C168 Rxxx M310 F388 U9 Q0 K0 (explained in UNISOUND.TXT)

If you only want to check the current settings of a PnP card, use:
UNISOUND /R (or UNISOUND /R /C2 in the ESS example we saw before).

There are new eXtended command line options for special features or cards.
The format will be /Xxxx , xxx depends on the card and/or special setting. Check
section 5 in the TXT for more details (Special configs like Orpheus card...)

Extract From 3- Supported cards (check readme for the complete explanation) ============================== […]
Show full quote

Extract From 3- Supported cards (check readme for the complete explanation)
==============================

Creative:
----------------------
- All SB16 PnP and non-PnP (but software-configurable) cards, including all
ViBRA16/S/C/XV/CL, Phone Blaster... (No need for DIAGNOSE.EXE for non-PnP)
- SB AWE32 PnP and non-PnP, AWE64, SB32PnP. EMU8K initialization included
- Creative AWE Upgrade card (CT1920) init.

ESS AudioDrive:
----------------------
- ES1868F single chip cards
- Guillemot Maxi Sound 64 (ES1868 + SAM9407 versions only).
- ES1869F single chip cards (Compaq branded for now)
- ES968 + ES688 and ES968 + ES1688 dual chip cards

Yamaha:
----------------------
- YMF71x single chip cards. OPL-SAX, OPL-SA3, AudioTrix XG-3D...
(Tested with YMF719-S, YMF718-S and YMF715 based cards)

Avance Logic:
----------------------
- ALS007 chip based cards.
- ALS1xx chips (ALS100, ALS100+, ALS120)

Diamond Technologies:
----------------------
- DT-0197H / DT-0196H chip cards (clone or re-branded ALS chips).

Aztech:
----------------------
- AZT2320 chip

Rockwell:
----------------------
- RWA01x (WaveArtist) chip cards

OPTi:
----------------------
- OPTi 82C925 + AD1845 combo
- OPTi 82C931 and 82C933 chip based cards.

Crystal (Cirrus Logic)
----------------------
- CS4232 / CS4235 / CS4236/B / CS4237/B chip based cards
- CX4236/B / CX4237/B chip based cards
- Special support for Orpheus and Turtle Beach Malibu cards (CS4237B)

C-Media / AD-CHIPS:
----------------------
- CMI8330 chip based cards. (Audio Excel...)
- CMI8329A based cards (Zoltrix... )

AD SoundPort (Analog Devices):
------------------------------
- AD181x chips based cards (AD1816/A, AD1815, AD18max10...).

Advanced Gravis:
------------------------------
- Gravis Ultrasound PnP (AMD Interwave chip). With some limitations (see UNISOUND.TXT)

Roland:
------------------------------
- Roland Super MPU II MIDI PnP card. Not strictly a sound card, it's a MPU card only, but it's supported for initialization.

Ensoniq:
------------------------------
- Limited support for Ensoniq Soundscape VIVO card. Only WSS digital
sound, line-in control, CD-in control and joyport are working. Any other
function will require the original TSR and drivers.

Turtle Beach:
------------------------------
- Limited support for Turtle Beach Multisound Pinnacle card (PnP mode)
Only joyport and MPU (onboard Kurzweil wavetable) are available. There are
several board revisions of this card, with slightly different behaviours.

Extract From 4- Special notes about some cards (check TXT file for full explanation): ============================ […]
Show full quote

Extract From 4- Special notes about some cards (check TXT file for full explanation):
============================

*Notes about Gravis Ultrasound PnP
*Notes about cards with WSS (Windows Sound System) support
*Notes about using some of these cards on 8 bit ISA slots (or XT machines)
*Notes about Guillemot Maxi Sound 64 series (ES1868 + SAM9407 only!)
*Notes about ESS ES1869 cards in very slow systems (XT/8088/8086/286)
*Notes about Crystal CS4232 based cards

Extract From 5- EXtended settings. General or per-card (check TXT file for full explanation) ============================== 5.1- […]
Show full quote

Extract From 5- EXtended settings. General or per-card (check TXT file for full explanation)
==============================
5.1- General eXtended settings
5.1.1- General eXtended setting for 3D sound for compatible cards
5.1.2- General eXtended setting to control Output Gain / Loudness
5.2- EXtended settings for Orpheus card
5.3- EXtended settings for Turtle Beach Malibu
5.4- EXtended settings for Opti 925 cards
5.5- EXtended settings for GUS PnP
5.6- EXtended settings for ES1868/ES1869 cards
5.7- EXtended settings for generic Crystal CS4237

Latest changes (version history): […]
Show full quote

Latest changes (version history):


==============================

v0.77a
------------------------
- Improved card detection, now it's more reliable, especially on slow cards.
- New eXtended option /XNET : It's a workaround for Realtek (and compatible)
ISA PnP network cards when paired with ISA sound card(s). Those net cards
have a bad hardware PnP implementation that deactivates LDs (logical devices)
just when scanning for PnP cards without configuring them. Use this option
when initializing your sound card and then load packet driver.
- Fixed joystick port default values for some cards, like ES1868.
- Orpheus: New option /XOM0 to force-disable MPU if it's enabled in EEPROM.
- Orpheus fix: Now Line-in audio is not muted on SPDIF in games/progs.
- GUS PnP: New option /XGJ : Activate Joystick port
- GUS PnP: Now all IRQs up to 15 are selectable (0=disabled). Previously, only
5, 7, 11, 12 15 were available (as listed by original GUS setup and EEPROM)
Use with caution.
- Changed Opti 931 init method a bit to try to prevent issues with other
cards (experimental).
- Fixed very old bug that caused some cards to disable MPU if same IRQ was set
for SB and MPU manually.
- Fixed wrong calculation for Mic-in level on several SBPro compatible cards.

v0.78b
------------------------
- Fixed ALS007 mixer, as it's only SBPro compatible, unlike other ALS cards.
- Fixed CMI card mixer to disable 3D spatial effect by default. (see below).
- Added support for Rockwell RWA Wavetable header. Now volume is working.
- Added STB Ultrasound card support as GUS PnP compatible (untested).
- Added (limited) support for Ensoniq Soundscape VIVO card. Only WSS digital
sound, line-in control, CD-in control and joyport are working. Any other
function will require the original TSR and drivers.
- Added (limited) support for Turtle Beach Multisound Pinnacle card (PnP mode)
Only joyport and MPU (onboard Kurzweil wavetable) are available. There are
several board revisions of this card, with slightly different behaviours.
If your card is not recognized, please add the option /FS and try again.
Also note that it's possible that your card revision doesn't work at all.
- Added feature to switch between internal and external FM/OPL on generic
Crystal CS4237 cards. Option are the same used for Orpheus: /XOFi and /XOFe
(untested). If no command line option is set, default is Internal FM.
- Added support for 3D sound on some cards that support it. Option: /X3Dn
Usage depends on the supported card (value of 'n'):
* CMI8330A: Sensaura HRTF 3D Positional audio ON (n = 1) or OFF (n = 0)
* ALS100+/ALS120: 3D Sound Effect Proccessor ON (n = 1) or OFF (n = 0)
* ES1869: (n = 0 to 9) 0 = disabled, 1-9 Spatializer 3D VBX effect amount.
* YMF71x: (n = 0 to 7) 0 = disabled, 1-7 3D Enhanced (Wide) effect amount.
* AD18xx: (n = 0 to 9) 0 = disabled, 1-9 Phat 3D effect amount.
* CS4237: (n = 0 to 9) 0 = disabled, 1-9 SRS 3D effect amount (center+space)
* Creative: 3D ON (n = 1) or OFF (n = 0). Only for Creative cards with 3D
capabilities (like AWE64, some AWE32 like CT3980 or some SB16 like CT2950)
- Added bass and treble control for Yamaha cards.
- Added eXtended option to control Output Gain / Loudness on some compatible
cards. Option is /XXGn ('n' value depends on the supported card):
* CMI8330: Loudness ON (n = 1) or OFF (n = 0)
* Creative: n = 1,2,4 (Gain x1, x2, x4 respectively). Some models don't have
gain control, on those, the setting won't have effect.e.g.: Vibra16C/S/XV
or some AWE64s like CT4520. Others like CT4500 do have it). Default: x2

----------

If it has been useful for someone else than me, I will be pleased 😀

Sorry for the (multiple) bugs the tool could have.

The download (v0.78b): (Updated)

https://mega.nz/file/zMYhADAD#xAwK9nVbx6u1aK0 … WWF83MIa3tpmz2A

this is interesting can i ask for a pci version as well? or can it configure pci cards? it could completely save time hunting down pci dos drivers.

Reply 501 of 510, by Eep386

User metadata
Rank Member
Rank
Member

Not sure if this has been shared yet, but here's the databook for the OPTi 82C930. I hope it helps with adding '930 support.

Attachments

  • Filename
    OPTI82C930.pdf
    File size
    2.2 MiB
    Downloads
    24 downloads
    File license
    Fair use/fair dealing exception

Life isn't long enough to re-enable every hidden option in every BIOS on every board... 🙁

Reply 502 of 510, by Yoghoo

User metadata
Rank Member
Rank
Member

Tried to use UNISOUND today on a Toshiba Satellite 310CDT laptop which has an OPL-SA3 chipset. Unfortunately got the error: No PnP sound card detected.

The OPL-SA3 chipset is supported of course but should it work with this laptop as well? The Yahama SETUPSA application initializes the card correctly btw.

Reply 504 of 510, by Tiido

User metadata
Rank l33t
Rank
l33t

YMF71x allows a conf without PnP EEPROM and these Toshiba laptops are making use of it. Yamaha's utils and drivers can talk to the chip in such a state, and my SETYMF util should also be able to get a successful conf in such cases (but I have no hardware to explicitly test it).

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 505 of 510, by Yoghoo

User metadata
Rank Member
Rank
Member
Tiido wrote on 2022-08-07, 18:27:

YMF71x allows a conf without PnP EEPROM and these Toshiba laptops are making use of it. Yamaha's utils and drivers can talk to the chip in such a state, and my SETYMF util should also be able to get a successful conf in such cases (but I have no hardware to explicitly test it).

Tried your util but get a "No card present or no valid PnP EEPROM content" error. Not want to try the suggested /FORCEPNP option as it contains the "use at your own risk" warning and it overwrites the PNP ID. Don't know what effect that has on my perfectly running Windows 98SE installation. But thanks for your suggestion.

Reply 506 of 510, by Tiido

User metadata
Rank l33t
Rank
l33t

/FORCEPNP invokes the alternative detection that Yamaha's stuff uses, and it won't overwrite anything unless you specfically go and do that. And in case of the laptop, there isn't any EEPROM to write into anyay, but it can still set up the chip and games etc. should start working, in DOS anyway.

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 508 of 510, by gaffa2002

User metadata
Rank Member
Rank
Member

Just dropping by to say thanks to JazeFox. I was not being able to make my sound card/modem combo (aztech at6800w) work in DOS, running UNISOUND did the trick.
Thats the reason I love this community 😁

LO-RES, HI-FUN

My DOS/ Win98 PC specs

EP-7KXA Motherboard
Athlon Thunderbird 750mhz
256Mb PC100 RAM
Geforce 4 MX440 64MB AGP (128 bit)
Sound Blaster AWE 64 CT4500 (ISA)
32GB HDD

Reply 509 of 510, by SaxxonPike

User metadata
Rank Member
Rank
Member
gaffa2002 wrote on 2022-08-16, 11:48:

Just dropping by to say thanks to JazeFox. I was not being able to make my sound card/modem combo (aztech at6800w) work in DOS, running UNISOUND did the trick.
Thats the reason I love this community 😁

Indeed- UNISOUND simplified Aztech sound cards for me immensely. The stock drivers are quite picky about what they can be used with.

Between that and SETYMF, what was once among my greatest frustrations (sound card initialization in pure MS-DOS) is now handled without hassle. So +1 to that. 😀

Sound device guides:
Sound Blaster
Aztech
OPL3-SA

Reply 510 of 510, by ltning

User metadata
Rank Member
Rank
Member

@JazeFox - This is so awesome because it lets me use my GUS PnP on my 286 machines. IWINIT.EXE won't work there (it just hangs) unless I run EMU386 - which is 1) hardly optimal and 2) I don't think it's possible to get it registered anymore, so there's a nag screen of epic proportions when loading it.

Feature request, though: IWINIT is nice in that it resets (erases) the RAM on the card. UNISOUND does not seem to do this, so I frequently have problems during playback because of old instruments stuck in the card memory.

Is this something that could be implemented somehow?

Thanks a lot,
/Eirik

286-24/4MB/ET4kW32/GUS+SBPro2
386DX-40/20MB/CL5434 ISA/GUSExtreme
486DX-50/64MB/S3-928 EISA/GUSPnP+OPL3SA
486BL-100/32MB/ET4kW32p VLB/AWELegacy
~ love over gold ~