VOGONS


UNISOUND - Universal ISA PnP Sound Card Driver for DOS v0.81b

Topic actions

First post, by JazeFox

User metadata
Rank Member
Rank
Member

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.81b (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 and a few others). 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 ~50Kb. (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... more info in the mini-FAQ about Unisound tool near the end of this post

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 cards, Treble and Bass levels
are 50% by default, PC SPeaker-in 0%, 3D: off.

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.

The most common usage is in your AUTOEXEC.BAT, setting a BLASTER var first.
Example for one card:

SET BLASTER=A220 I5 D1 T4 J200 P330
UNISOUND.COM /V70

GUS PnP example:

SET ULTRASND=240,3,3,11,11
UNISOUND.COM /V70

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 cards)
/VRnn Set FM Reverb amount (00-99) (SB AWE only)
/VUnn Set FM Chorus amount (00-99) (SB AWE only)
/Xxxx eXtened cards settings (see section 5 for details)
/NOPNP Detect & init some Non-PnP cards (See end of section 3)
/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...)

For other non-PnP cards (only a few selected models), use UNISOUND /NOPNP
(Check details in TXT at the end of section 3 ).

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

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

Creative:
-----------------------------------------------------------------------------
- All Sound Blaster 16 cards, including all ViBRA16/S/C/XV/CL, Phone Blaster
- SB AWE32, AWE64, SB32PnP. EMU8K initialization included
(to enable FM and built-in wavetable sound, so no AWEUTIL /S needed. No
soundfonts loading though).
- Creative AWE Upgrade card (CT1920) init.

On all Creative cards, DSP version is displayed at init time.
On AWE cards, total memory detected is displayed at init time.
Check section 6.1 for a complete list of successfully tested Creative models

Control of FM Reverb (/VRnn) and Chorus (/VUnn) effects amount is supported,
only for SB AWE32/64 cards (Values 00 to 99). Note: This works on AWE cards
with integrated CQM and with discrete Yamaha OPL/CQM chips, if they're routed
through the EMU8K chip. Only a few exceptions are not routed, like CT3930.

ESS AudioDrive:
-----------------------------------------------------------------------------
- ES1868F single chip cards
- ES1869F single chip cards
- ES968 + ES688 dual chip cards in PnP mode
- ES968 + ES1688 dual chip cards in PnP mode
- Guillemot Maxi Sound 64 (ES1868 + SAM9407 versions only) SAM9407 firmware
uploading and initialization included (to unmute output sound). Firmware
itself not included

Yamaha:
-----------------------------------------------------------------------------
- YMF715, YMF718, YMF719 cards. Models OPL-SAX, OPL-SA3, AudioTrix XG-3D...
Only ISA PnP models. Usually laptop integrated Yamaha chips are BIOS-PnP
based, and those are not supported for now.

Avance Logic:
-----------------------------------------------------------------------------
- ALS007 chip
- ALS1xx chips (ALS100, ALS100+, ALS120)
- ALS200

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

Aztech:
-----------------------------------------------------------------------------
- AZT2320 chip based cards.

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

OPTi:
-----------------------------------------------------------------------------
- OPTi 82C924 in PnP mode
- OPTi 82C925 in PnP mode
- 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. (like Audio Excel branded cards)
- CMI8329A based cards (like Zoltrix branded cards )

AD SoundPort (Analog Devices):
-----------------------------------------------------------------------------
- AD1816/A, AD1815, AD18max10 (like Terratec and Aztech branded cards)
- AD1812

*Note1: Some Terratec cards (Like Base-1) based on AD1816 with ATMEL EEPROMS
with some chipset combos, in very rare cases will need to use /FS
option to be detected correcly.

*Note2: AD ISA cards' WSS mode is NOT compatible with DOS software.

Advanced Gravis / AMD Interwave / Compaq/STB Ultrasound :
-----------------------------------------------------------------------------
- Gravis Ultrasound PnP (AMD Interwave chip). Centered in Classic GUS
compatibility only (No SB emu, no MPU, optional IDE and Joy port).
The amount of RAM installed is displayed at init time.
ROM name and size is displayed at init time (Informative only)
- Compaq Interwave / STB Ultrasound pro 32. With support for TEA6330T chip.

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.
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.

Supported non-PnP Cards
*****************************************************************************
- All SB16 and AWE32 non-PnP (software-configurable) cards
(No need for DIAGNOSE.EXE /S to init!). In AWE32 EMU8K initialization is
included to enable FM and built-in wavetable sound, so no AWEUTIL /S needed.
No soundfonts loading though.

- ESS ES1688. Configurable resources: IRQ, DMA, MPU addr, MPU IRQ, joyport.

- ESS ES688. Configurable resources: IRQ, DMA.

- OAK OTI601 "Mozart" chip based cards. All revisions. (based on OPTi 82C928)
Configurable: SB/WSS address, IRQ, DMA, joyport, SB/WSS mode.
NOTE: Very bad compatibility with games and programs. Must re-initialize
the card after running some games/programs. SB mode digital audio is mono
only. FM/OPL3 and WSS mode can be used in stereo.

- OPTi 82C928 / MAD16 (non pro) cards. The same as the "Mozart" cards.
Almost the same chip.

- OPTi 82C924/925 in non-PnP mode. Initialization options are the same as
the PnP versions.

Resource assignments are read from BLASTER env var if present, as usual.

Mixer volume settings compatible with each card are supported as usual with
/Vxxx options.

NOTE: This feature is EXPERIMENTAL. Please, plug only one card in the
system to avoid problems. Support for more Non-PnP cards is not planned in
any way in the near future.

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 and compatible cards
*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 (/XXF and /XNET)
5.1.1- General eXtended setting for 3D sound for compatible cards (/X3Dn)
5.1.2- General eXtended setting to control Output Gain / Loudness (/XXGn)
5.1.3- General eXtended setting to change SB / WSS mode on compatible cards (/XWSS)
5.2- EXtended settings for Orpheus card
5.3- EXtended settings for Turtle Beach Malibu
5.5- EXtended settings for GUS PnP and Interwave compatible cards
5.6- EXtended settings for ES1868/ES1869 cards
5.7- EXtended settings for generic Crystal CS4237

Latest changes (version history of last 3 versions): […]
Show full quote

Latest changes (version history of last 3 versions):


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

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

v0.80a
-----------------------------------------------------------------------------
- Fixed support for Compaq Interwave / STB Ultrasound 32 Pro (GUS PnP
compatible card): Added proper initialization of TEA6330T sound control
chip. Now sound output is working properly and control for treble and bass
is added (/VTxx /VBxx) if your card has this chip. Default value: 50%
- Fixed GUS PnP input levels not muting completely when using /Vx00
- Fixed ALS100 mixer init bug introduced v0.78b. All levels are working now.
- Added support for OPTi 82C924 PnP chip based cards.
- Added support for Analog Devices AD1812 PnP chip based cards.
- Added 3D control support for OPTi 82c933 cards. 3D ON = /X3D1
- Fixed Wavetable volume not changing with /VF when SPDIF mode was enabled on
Orpheus / TB Malibu cards. (Note: some games/apps messing with SB mixer
registers 00h, 06h, 26h, might reset levels again)
- Fixed an old bug that assigned a 2nd DMA on cards that don't support it.
- Minor changes to char printing in detection phase to fix issues with 4DOS
and other minor code and text optimizations.
- Fixed /D used together with other options caused unexpected results.
- Added WSS mode support for Aztech 2320 cards. Use /XWSS to change to WSS
mode. Default is SB mode. Note: WSS and SB modes are mutually exclusive.
- Change: Unified command line option for cards with capability to switch
between WSS and SB modes: /XWSS (Previously was /XPW1 for OPTi cards) to
swith to WSS mode. Default is SB mode if /XWSS switch is not used. Check
supported cards in TXT section 5.1.3
- New: *EXPERIMENTAL* Non-PnP card detection mode for very very few cards:
* OAK OTI-601 "Mozart" / OPTi 82c928/A chips (almost the same chip)
* OPTi 82C924 and 82C925 in "no PnP" mode
* ESS ES1688. Configurable: IRQ, DMA, MPU port, MPU IRQ, joyport.
* ESS ES688. Configurable: IRQ, DMA.
* Creative Sound Blaster 16 / AWE32 Non-PnP jumperless cards (already
supported but listed here for completeness). /CS will continue working
as usual for backward compatibility for these cards.
Option to try this new non-PnP card initialization: /NOPNP
NOTE: As it's experimental, please plug only one Non-PnP sound card in the
system to avoid problems and false positives. Support for more Non-PnP
cards is not planned in any way in the near future

v0.81b
-----------------------------------------------------------------------------

- Fixed wavetable sound not working on Opti 931 cards with onboard wavetable.
- Fixed detection of Terratec Base-1 and other AD1816 based cards with ATMEL
EEPROM chips. Now these cards will be detected correctly. Anyway there are
about 1% of these cards in combination with some mobo chipsets that would
need to add the option /FS to be detected properly.
- Improved AWE RAM detection for late EMU8K chips, like AWE64 cards. Now the
correct amount should be shown.
- Added option to use a custom IRQ for the IDE port, with new BLASTER optional
parameter "Y". Use of "C" is still required. If "Y" is not used, default
stadard IRQ will be used, like in previous versions. Example: C168 Y11
- Changed behaviour of /NOPNP detection for ESS and Mozart chips, should
improve compatibility with some systems with Non-PnP ESS onboard sound.
- Added Control of FM Reverb (/VRnn) and Chorus (/VUnn) effects amount, only
for SB AWE32/64 cards (Values 00 to 99). Note: This works on AWE cards with
integrated CQM and with discrete Yamaha OPL / CQM chips, if they're routed
through the EMU8K chip. Only a few exceptions are not routed, like CT3930.

UNISOUND Tool Mini-FAQ: Some general frequent asked questions about it:
=====================================================

- is my card compatible? is my system compatible? what XX option do? - For this and other usage and compatibility questions, the […]
Show full quote

- is my card compatible? is my system compatible? what XX option do?
- For this and other usage and compatibility questions, they are probably already answered in UNISOUND.TXT. Please, read UNISOUND.TXT, and, if your question is still not answered or you have doubts, it could have been answered before in the forum. You can use search function in this thread. If, finally, you can't find a successfull answer, you can ask here, of course.

- I found a bug or my card does not work. What can I do?

- First, check in UNISOUND.TXT if you're using the correct options with your card/system and your card is supported. If it's still not working, please, try adding this options to UNISOUND: /FS /XXF , also try the card in diferent systems if you have them, and if it's still not working or having problems, you can post here your problem, but please, do it with as much detail as possible: card brand/model/chips, system specs (cpu/motherboard/memory/other cards installed/OS, UNISOUND version and options used to initialize, if other cards work in the same system and a detailed explanation (with steps if possible, since the system boot) and tests done. Write also the exact output of UNISOUND and some photos could help too. Without details, it's more difficult to help.

- Questions about donations/opensourcing/changing tool dev direction
- As I said some time ago, I made this tool mainly for myself, for my own use with my systems, and also as a personal challenge. I released the tool because even though it's useful for me, it could be for others to help to initialize the cards more easily. But anyway I'd rather keep things as they are now. There are paid and free tools, there are open and not open source tools out there (you have some open pnp related tools like isapnptools, etc, if you want), well, this is a non open free tool, like a lot others out there, and I want to keep things as they are now. I'll continue with the tool only if I feel happy and comfortable with it, and I am, in the current status. I also don't accept any form of donation, tip, payment or beer invitation (but I feel very grateful for the intention, I promise!). Thank you for understanding. I will not answer any comment regarding any of this topics in the forum, sorry, I hope you'll understand. This is all a personal decision, and as it is, I hope it will be respected. Of course, I'll be here to continue helping with bugs, enhancements, usage assistance, ..., as usual.

- Would you add XX feature, like XX non-PnP card, or PnP-BIOS node features, ...?
- Time will tell, but it's unlikely. The main function of this tool is to detect, configure and initialize ISA-PnP cards, although some minor exceptions were made with some very few non-PnP cards, This tool is very well focused on the main function, as I said before.

- Will this tool support other type of cards like PCI or PCI-e? Or ther cards (not just sound cards)?
- Absolutely no.

- Will this tool be a TSR at any time?
- Absolutely no.

----------

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.81b): (Updated March 2024)

https://mega.nz/file/zdQHGRgB#nLznPzTlw5DEUHV … vlqzsNObHwFAyxM

Last edited by JazeFox on 2024-03-05, 16:08. Edited 22 times in total.

Reply 2 of 683, by weldum

User metadata
Rank Member
Rank
Member

i know you said "all x86 cpus" but there's support for 16 bit micros? (8088/86 and 286)

DT: R7-5800X3D/R5-3600/R3-1200/P-G5400/FX-6100/i3-3225/P-8400/D-900/K6-2_550
LT: C-N2840/A64-TK57/N2600/N455/N270/C-ULV353/PM-1.7/P4-2.6/P133
TC: Esther-1000/Esther-400/Vortex86-366
Others: Drean C64c/Czerweny Spectrum 48k/Talent MSX DPC200/M512K/MP475

Reply 3 of 683, by MAZter

User metadata
Rank Oldbie
Rank
Oldbie

Interesting!

What about support Yamaha YMF744 and YMF754 chips? And specific cards like Roland Sound Canvas.

Doom is what you want (c) MAZter

Reply 5 of 683, by derSammler

User metadata
Rank l33t
Rank
l33t
MAZter wrote on 2020-03-13, 05:17:

And specific cards like Roland Sound Canvas.

Did you understand what this tool does? I don't see how this would be useful for a Roland Sound Canvas...

Reply 6 of 683, by JazeFox

User metadata
Rank Member
Rank
Member
weldum wrote on 2020-03-13, 01:56:

i know you said "all x86 cpus" but there's support for 16 bit micros? (8088/86 and 286)

Yes! It supports 8088/8086/286 😀 I updated the first post to reflect this.
(some cards will work well in a 8-bit ISA slot, and some others will not, it depends on the card, if it uses 16 bit lines or not).

MAZter wrote on 2020-03-13, 05:17:

What about support Yamaha YMF744 and YMF754 chips? And specific cards like Roland Sound Canvas.

Yamaha YMF74x and 75x are PCI sound chipsets, so no, they are not supported. This tool works with ISA cards only.
About the Roland, there are not PnP Roland cards (at least, I don't know any), so, no.

Reply 8 of 683, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie

Maybe you should consider building this as a device driver instead so it could be loaded from config.sys?

Reply 9 of 683, by keenmaster486

User metadata
Rank l33t
Rank
l33t

Very nice! I have always hoped for such a tool to exist! Thank you for making this, I'll try to remember that it exists when I configure software.

World's foremost 486 enjoyer.

Reply 10 of 683, by MN_Moody

User metadata
Rank Newbie
Rank
Newbie
jmarsh wrote on 2020-03-14, 20:12:

Maybe you should consider building this as a device driver instead so it could be loaded from config.sys?

Where I grew up, if someone buys me a free lunch I'm not inclined to tell them if I don't like the way it tastes, rather I appreciate the gesture and the full belly that I didn't have to pay for. You are certainly free to do the research, learn how to code and develop a driver based solution for this issue, or pay someone to do so if you don't like the way this free utility works?

Anyway, the intent of this tool, as I understand it, is to invoke the PnP configuration parameters for a broad range of audio cards that are usually impossible to find the original PnP configuration utilities for. It was not uncommon for generic / OEM / budget cards to lack a "driver" component that can be loaded in CONFIG.SYS either (the wedge shaped Aztech ISA cards that HP pumped out in the thousands, for example). The Aztech cards require that you invoke a proprietary PnP configuration utility at boot to initialize the hardware and set configuration, and then a separate .EXE mixer file to set volume levels... exactly like this utility. Instead of having to track down card-specific utilities for the numerous unmarked ISA sound cards that are otherwise impossible to configure for use in DOS games, this utility has you covered. I have at least 3 currently "DOS unusable" OPTI / Crystal / Analog Devices PNP ISA audio cards sitting in a pile that I haven't been able to find compatible drivers/config utilities for, so I'm stoked to give this utility a try. Providing a low footprint, generic solution to initialize a broad range of PnP ISA sound hardware is incredibly useful, like the CuteMouse driver it's sure to become a staple for making hard to ID hardware useful again without the fuss and drama of tracking down original or "close enough" configuration and driver software for each card you find out in the wild.

Thank you OP, what a great contribution to the retro/DOS hardware gaming community!

Reply 11 of 683, by EcoPeeko

User metadata
Rank Newbie
Rank
Newbie

Hi, I'm new to dos and I'm trying to use unisound to configure my pc's pnp soundblaster 16 card (CT2980).

How exactly do I install it? The .zip download contains unisound.com - okay - then I put it on a floppy disk and stick it into the pc - so far so good - but then what? Sorry if this is a dumb question.

Reply 12 of 683, by JazeFox

User metadata
Rank Member
Rank
Member
EcoPeeko wrote on 2020-03-23, 21:13:

Hi, I'm new to dos and I'm trying to use unisound to configure my pc's pnp soundblaster 16 card (CT2980).

How exactly do I install it? The .zip download contains unisound.com - okay - then I put it on a floppy disk and stick it into the pc - so far so good - but then what? Sorry if this is a dumb question.

Hi,

Why are you putting the file on a floppy disk?
If you plan to use it to configure your SB16 permanently in your HDD, simply do this:

Copy UNISOUND.COM to your HDD (where you want, root, a folder..)

Edit your C:\AUTOEXEC.BAT file, and put this two lines (assuming you put UNISOUND.COM in C:\ ):

SET BLASTER=A220 I5 D1 H1 P330
C:\UNISOUND.COM /V80

That's it. Card will be initialized on every boot, and will work perfectly if values are not in conflict with any other card. (/V80 parameter is optional, is the volume of mixer master output. If it is too loud, you can lower the value.. to 60, 50.. or what you want. Range is from 00 to 99).

Now the details:

If you have more cards in your system that could use any of the resources of the card equal to the ones i put in the SET BLASTER line (Base address 220h, IRQ 5 , DMA 1, HDMA 1) the you may change it to other values, example: A220 I7 D1 H5 P330)....

In addition, if your card has an IDE header and you plan to use a CD-ROM drive connected to it, you must do this:

- Download VIDE-CDD.SYS and DEVLOAD.COM from here: https://www.hiren.info/downloads/dos-files
- Copy them to your HDD
- The C:\AUTOEXEC.BAT modifications are now:

SET BLASTER=A220 I5 D1 H1 P330 C168
C:\UNISOUND.COM /V80
DEVLOAD VIDE-CDD.SYS /D:MSCD001
MSCDEX /D:MSCD001

That's all. (The new parameter in the BLASTER line C168 will enable the IDE port on the card, and set it to quaternary).

Tell us if you got it working well.

Reply 13 of 683, by aha2940

User metadata
Rank Member
Rank
Member

This is nice. I'll test my sb16 (CT2950) with it soon.

Reply 14 of 683, by EcoPeeko

User metadata
Rank Newbie
Rank
Newbie
JazeFox wrote on 2020-03-23, 21:44:
Hi, […]
Show full quote
EcoPeeko wrote on 2020-03-23, 21:13:

Hi, I'm new to dos and I'm trying to use unisound to configure my pc's pnp soundblaster 16 card (CT2980).

How exactly do I install it? The .zip download contains unisound.com - okay - then I put it on a floppy disk and stick it into the pc - so far so good - but then what? Sorry if this is a dumb question.

Hi,

Why are you putting the file on a floppy disk?
If you plan to use it to configure your SB16 permanently in your HDD, simply do this:

Copy UNISOUND.COM to your HDD (where you want, root, a folder..)

Edit your C:\AUTOEXEC.BAT file, and put this two lines (assuming you put UNISOUND.COM in C:\ ):

SET BLASTER=A220 I5 D1 H1 P330
C:\UNISOUND.COM /V80

That's it. Card will be initialized on every boot, and will work perfectly if values are not in conflict with any other card. (/V80 parameter is optional, is the volume of mixer master output. If it is too loud, you can lower the value.. to 60, 50.. or what you want. Range is from 00 to 99).

Now the details:

If you have more cards in your system that could use any of the resources of the card equal to the ones i put in the SET BLASTER line (Base address 220h, IRQ 5 , DMA 1, HDMA 1) the you may change it to other values, example: A220 I7 D1 H5 P330)....

In addition, if your card has an IDE header and you plan to use a CD-ROM drive connected to it, you must do this:

- Download VIDE-CDD.SYS and DEVLOAD.COM from here: https://www.hiren.info/downloads/dos-files
- Copy them to your HDD
- The C:\AUTOEXEC.BAT modifications are now:

SET BLASTER=A220 I5 D1 H1 P330 C168
C:\UNISOUND.COM /V80
DEVLOAD VIDE-CDD.SYS /D:MSCD001
MSCDEX /D:MSCD001

That's all. (The new parameter in the BLASTER line C168 will enable the IDE port on the card, and set it to quaternary).

Tell us if you got it working well.

I copied the UNISOUND.COM file from the floppy disk I had put it on into C:\ and edited C:\AUTOEXEC.BAT like you said, but now MS DOS fails to load properly.

Here is the entirety of my autoexec.bat file:

LH /L:0;2,45456 /S C:\DOS\SMARTDRV.EXE /X
@ECHO OFF
PROMPT $p$g
PATH C:\WINDOWS;C:\DOS
SET TEMP=C:\DOS
SET BLASTER=A220 I5 D1 H1 P330
C:\UNISOUND.COM /V80

The last two lines are what I added. Everything else is the same as before when it was working. As far as I'm aware there's only one sound card, and the pc has no CD ROM drive.

Reply 15 of 683, by JazeFox

User metadata
Rank Member
Rank
Member

@EcoPeeko

Ok, let's do some checks...

First of all, when you say that MS-DOS fails to load properly, what do you mean exactly?
It throws any error? in that case, what error? the computer hangs? could you explain what happens with details?

And, if you can, download the great HWiNFO tool from HWiNFO for DOS resurrected !
and run it as: hwinfo -r
it should create a HWINFO.LOG file. Upload it here to see what can be interferring with the initialization.

If you can not work in DOS properly to run HWiNFO, edit autoexec and delete the unisound line. If you can not edit it properly, press F5 while booting, before MS-DOS boots, to avoid autoexec execution. Then edit the file.

Let us know when you have results.

Reply 16 of 683, by Oetker

User metadata
Rank Oldbie
Rank
Oldbie

Seems like a great tool! However, my AZT2320 card doesn't work with it (unknown pnp card, not compatible). It's actually reported as an AZT1008 by the tool (and other PNP stuff). It's this card: https://www.philscomputerlab.com/hp-mm-pro-16v-a.html and the chip does read 2320.

Also, support for the AZT2316 would be nice 😀

Edit: I hex-edited AZT1022 to AZT1008 in the .com file and that made it detect and initialize the card. Unfortunately games still can't play any sound (Duke3D setup complains about a possible DMA error), which is the same result I get with the Aztech PNP tool or Intel ICU, so it's 99% sure working fine and there's something else wrong.

Last edited by Oetker on 2020-03-24, 21:20. Edited 1 time in total.

Reply 17 of 683, by EcoPeeko

User metadata
Rank Newbie
Rank
Newbie

@JazeFox

It says "Starting MS-DOS..." and then nothing happens and it won't respond to key presses. I guess hanging is the word.

About HWiNFO. Honestly, I barely know how to use MS DOS - Running HWiNFO feels equally as daunting as running Unisound, or any other program for that matter. I removed the Unisound lines from autoexec.bat, and I know enough to copy files into directories, but it's the "get the program running without breaking something" step that keeps tripping me up. If I try to run HWiNFO I worry I'll be back at square one troubleshooting why that too won't work. Like, say I copy the HWiNFO files into C:\, then what do I do with them ? Do I edit some file like config.sys or autoexec.bat to load it? Do I run hwinfo.exe? I hate to be difficult but you really need to go step by step or you'll lose me.

Reply 18 of 683, by BloodyCactus

User metadata
Rank Oldbie
Rank
Oldbie

Ill try and check it out on the weekend. Will it enable more than one sound card? I have GUS PnP and AWE32 in one machine and I have to run iwinit and ctcu/diagnose..

--/\-[ Stu : Bloody Cactus :: [ https://bloodycactus.com :: http://kråketær.com ]-/\--

Reply 19 of 683, by JazeFox

User metadata
Rank Member
Rank
Member
Oetker wrote on 2020-03-24, 20:39:

Seems like a great tool! However, my AZT2320 card doesn't work with it (unknown pnp card, not compatible). It's actually reported as an AZT1008 by the tool (and other PNP stuff). It's this card: https://www.philscomputerlab.com/hp-mm-pro-16v-a.html and the chip does read 2320.

Also, support for the AZT2316 would be nice 😀

Edit: I hex-edited AZT1022 to AZT1008 in the .com file and that made it detect and initialize the card. Unfortunately games still can't play any sound (Duke3D setup complains about a possible DMA error), which is the same result I get with the Aztech PNP tool or Intel ICU, so it's 99% sure working fine and there's something else wrong.

I updated to version 0.65c with support for new vendor IDs for Aztech 2320 compatible cards (like your AZT1008).
About your problem with no sound... I don't know what could be happening, it works well with my AZT1022 card and other user tested it with a AZT1006 ID card and worked well too...
Are you sure you don't have conflicts with any other hardware? Are you sure your card is not faulty? did you test it in a different PC? is it working under windows9x?

EcoPeeko wrote on 2020-03-24, 21:02:

@JazeFox

It says "Starting MS-DOS..." and then nothing happens and it won't respond to key presses. I guess hanging is the word.

About HWiNFO. Honestly, I barely know how to use MS DOS - Running HWiNFO feels equally as daunting as running Unisound, or any other program for that matter. I removed the Unisound lines from autoexec.bat, and I know enough to copy files into directories, but it's the "get the program running without breaking something" step that keeps tripping me up. If I try to run HWiNFO I worry I'll be back at square one troubleshooting why that too won't work. Like, say I copy the HWiNFO files into C:\, then what do I do with them ? Do I edit some file like config.sys or autoexec.bat to load it? Do I run hwinfo.exe? I hate to be difficult but you really need to go step by step or you'll lose me.

I'm sorry, you're right, I'll try to explain everything with more detail in a new post later.

BloodyCactus wrote on 2020-03-24, 21:48:

Ill try and check it out on the weekend. Will it enable more than one sound card? I have GUS PnP and AWE32 in one machine and I have to run iwinit and ctcu/diagnose..

Yes! In fact, I use it just like you want. It is easy:

- Set the environment variables for both cards *first*: BLASTER and ULTRASND, remember to use different values to avoid conflicts. Example: BLASTER=A220 I5 D1 H1 P330, and ULTRASND=240,3,3,11,11
- With both cards plugged, run: UNISOUND /CL , that will list the 2 cards and will show you the order, card #1 and card #2.
- Once you located each #, (let's assume GUS is card #1 and AWE is card #2) you have to run unisound 2 times, one for each card (/C2 is to init 2nd card):
UNISOUND
UNISOUND /C2

- Optionally if you want classic GUS Wavetable music support, you only have to add the ULTRADIR env variable pointing to a directory with 2 items:
the ULTRASND.INI file and the MIDI directory with the instrument patches inside. Remember that this tool disables GUS PnP SB emulation resources, MPU emulation resources and IDE port. It is centered in the classic GUS use. Remember to have RAM slots populated for it to work.