RELNOTES.TXT Driver File Contents (audio95_1.zip)

Release Notes for CS4232/36 Version 1.67 Windows 95 Driver   
Release Date:  09/11/96  

Version Numbers:  
1.60 	CS4232C.EXE
1.65 	CSFM.DRV
1.53 	CS32MIX.EXE
1.60 	CS32BA11.DRV
1.65 	CWAUDIO.VXD
1.60 	CS4232LD.VXD
1.57    SETUP.EXE
1.51	CSMIDI.DRV
1.51	CSMIDI.VXD
79   	CS4232 microcode
6       CS4232A microcode
51	CS4236 microcode

List of Files:

CWAUDIO.BIN          6,402  08-14-96  7:01p 
CSPCPLE.DLL         73,216  04-18-96  1:51a 
WSTREAM.DLL          9,712  04-17-96  1:00a 
CS32BA11.DRV       140,464  06-25-96  4:00p 
CSFM.DRV            21,824  08-02-96  4:50p 
CSMIDI.DRV           9,296  04-15-96  1:51a 
CS32MIX.EXE        234,538  06-26-96  1:53a 
CS4232C.EXE         85,296  06-19-96  4:00p 
MSGLOOP.EXE          4,112  04-17-96  1:00a 
SETUP.EXE          258,560  08-16-96  2:28p 
CS4232.INF          14,801  09-11-96  9:27a 
CS4232.INI             774  10-02-95  4:00p 
CS4232LD.VXD        11,844  06-25-96  4:00p 
CSMIDI.VXD          28,844  05-02-96  1:51a 
CWAUDIO.VXD         85,047  08-12-96  1:00p 
VWSTREAM.VXD         5,175  04-18-96  1:00a 
README.TXT           5,882  09-04-96  3:00p

File Summary:

CS4232C.EXE   	CS4232/CS4236 Configuration Program.  A DOS device 
                driver used to initialize and configure the card.  It 
                will download microcode from CWAUDIO.BIN.  Using the 
                /X option, it will download resource data from 
                RESOURCE.BIN, CS32RES.BIN, or CS36RES.BIN.
        
CS32MIX.EXE	DOS mixer used to set or adjust Sound Blaster mixer 
                settings.  It will run as a GUI application or as a 
                command line utility.

CWAUDIO.BIN  	Data file containing microcode for the CS4232, 
                CS4232A, and CS4236.  It is used by CS4232LD.VXD and 
                CS4232C.EXE.  

CS4232.INI   	Default initialization parameters for CS4232C.EXE.  It 
                is only used if PnP is overridden (/O) or if not using 
                the Win 95 option on a non PnP system (no /W).  

CS4232.INF  	Windows 95 installation file.  It will install the 
                files, update the registry, install CS4232C.EXE /W in 
                the CONFIG.SYS, and it will install CS4232C.EXE /O /R 
                in the DOS mode CONFIG.SYS.  It should be modified by 
                oem's to meet their specific needs.  

CSFM.DRV	Crystal FM MIDI driver.

CWAUDIO.VXD	CS4232/CS4236 Windows 95 virtual device driver.

CS32BA11.DRV	CS4232/CS4236 Windows 95 wave, aux, and mixer driver.

CS4232LD.VXD   	CS4232/CS4236 Windows 95 Device Loader VxD.  This 
                driver will download microcode from the CWAUDIO.BIN 
                file.

CSMIDI.VXD	Crystal MPU-401 MIDI virtual device driver.

CSMIDI.DRV	Crystal MPU-401 MIDI Driver.

CSPCPLE.DLL	Windows 95 Power Control Panel extension.  This file 
                will create an extension to the default Windows 95 
                Power Control Panel, enabling new features like idle 
                time-out and powerdown now.

SETUP.EXE	Crystal Windows 95 uninstall program.  Running this 
                program will clean out any Crystal registry entries, 
                delete Crystal files, clean the CONFIG.SYS, and prompt 
                the user to restart.  When Windows 95 restarts, the 
                Crystal drivers should install using the default 
                Windows 95 installation.

VWTREAM.VXD     It is the main WaveStream engine.  It resides between
                WSTREAM.DLL and CWAUDIO.VXD.  It does the Software  
                WaveTable Synthesis, SoundBlaster, and mixing.  This  
                VXD is provided in our kit to hook up with the   
                Brooktree WaveStream CD. 
	
WSTREAM.DLL     It is the WaveStream component which communicates with 
                cs32ba11.drv and in turn passes information down to  
                vwstream.vxd.  This DLL is provided in our kit to hook
                up with the Brooktree WaveStream CD.

MSGLOOP.EXE     It is a WaveStream component which is provided in our 
                kit to hook up with the Brooktree WaveStream CD.
                

General Information:

This release has special Line In and Synth label changes for Samsung/AST(MCK).
This release adds support for Brooktree Software Wavetable Synthesis to
the Crystal Windows 95 Driver Software.  Also, this release greatly
enhances Dos mode support.  In addition, this release provides alpha
support for CS4236B/37B/38B.


Default Dos Mode Support:

The default MS-DOS mode is the environment selected when a user uses the 
Windows95 taskbar to "Shutdown to MS-DOS mode", and it is the default 
environment used for "MS-DOS Mode" execution of any Dos application on 
the Windows 95 desktop.  To enable default Dos mode support, modify the 
following CS4232.INF entries:

A.  Change Dos driver option from /W to /O /C.

[CS4232C.UpdateCfgSys]
DevAddDev=cs4232c.exe,device, 1, "/W"  needs to be changed to 
DevAddDev=cs4232c.exe,device, 1, "/O /C"

B.  Turn on the Flag so that CS4232.WCM gets created.

[CSC0000.AddReg]
HKR,Config\SNDSYS.DRV,WriteConfigurationFile,,OFF needs to be changed to
HKR,Config\SNDSYS.DRV,WriteConfigurationFile,,ON

Everytime the user shuts down to MS-DOS mode, CS4232C.EXE will configure
the card with the Windows 95 settings saved in CS4232.WCM.  When 
"Shutdown to MS-DOS mode" is executed, DOSSTART.BAT runs.  Therefore,
CS4232C.EXE will execute from DOSSTART.BAT when shutdown to MS-DOS mode.  
DOSSTART.BAT will be properly updated with the Dos driver when 
the Dos driver executes from CONFIG.SYS.

Software Wavetable Synthesis

WaveStream is a General MIDI compatible music synthesizer that runs
within the Microsoft Windows 95 environment.  The WaveStream software is 
provided by Brooktree Corporation.  In the Crystal Audio properties of 
the Device Manager, a WaveStream settings page exists whereby WaveStream 
can be enabled.  This page will only show up after the WaveStream 
software is installed.   The MIDI Mapper has a new MIDI Output 
associated with Wavestream.  The MIDI Output for WaveStream is named 
"WaveStream Music Synthesizer".  Therefore, WaveStream can be selected 
to receive MIDI data from any Windows 95 compatible MIDI application by 
selecting the MIDI Mapper to "WaveStream Music Synthesizer".  When 
WaveStream is enabled, all WaveOut, MidiOut, and all Dos MIDI and 
SoundBlaster go through the WaveStream engine.

To install Wavestream for the first time.
1.  Run Crystal SETUP.EXE to remove our existing driver.
2.  Shutdown/Restart.
3.  Install Crystal Driver.
4.  Run WaveStream SETUP.EXE found in the Brooktree WaveStream CD.
5.  Shutdown/Restart.

To reinstall WaveStream:
1.  Remove WaveStream Using Add/Remove Program in the control panel.
2.  Run Crystal SETUP.EXE. 
3.  Shutdown/Restart.
4.  Reinstall Crystal Driver.
6.  Run WaveStream SETUP.EXE found in the Brooktree WaveStream CD.
7.  Shutdown/Restart.



Installation Problems:

Running Crystal SETUP.EXE to uninstall the driver before doing an 
installation will fix many installation problems, including previous 
installations, Crystal specific OEMx.INF files, and incorrect registry 
entries.

Using a Null resource:
When using a NULL resource, please change the ";Reboot" line in the 
CS4232.INF file to "Reboot".  Restart the machine when the Windows 95 
installation prompts.  This will load the CS4232C driver in the 
CONFIG.SYS.  Now, Windows 95 should continue the regular installation of 
the various CS4232/36 devices.

Removing the Synth Input for CS4236:
The default Windows 95 input panel contains an input labeled "Synth."  
On CS4236 based solutions with internal FM enabled, this input will not 
work.  To remove this input from the Input Panel please make the 
following change in the CS4232.INF file.  Change this line:  
HKR,Config\CONTROLS,InputSources,,"Line,Aux1,Loop,Mic" and replace it 
with the following line: 
HKR,Config\CONTROLS,InputSources,,"Aux1,Loop,Mic"

RESOURCE.BIN and /X
Using CS4232C To Download Plug and Play Resources 

The /X option allows the Dos Driver to download Plug and Play resources 
from the file RESOURCE.BIN.  Platforms which contain CS4232/CS4236 Plug 
and Play resources in the BIOS may want to download different Plug and 
Play resources.  This can be accomplished by using the /X to download 
Plug and Play resources from RESOURCE.BIN, CS32RES.BIN, or CS36RES.BIN 
prior to booting into Win95.  DirectX games will not replace existing 
audio drivers with Microsoft WSS drivers if the Plug and Play resources 
exclude the  PnP compatible Logical ID's for Logical Device 0.  The 
following steps show a summary of how to create a RESOURCE.BIN from 
existing Plug and Play resources, and how to setup your configuration 
prior to booting into Win95.

1.  Go into the BIOS and set Plug and Play Configuration to:  Use 
Setup Utility.  The idea in this step is to have the BIOS download 
Plug and Play Resources and configure the part.  Make sure 
CS4232C.EXE is not running in CONFIG.SYS.

2.  Run resource.exe from the Dos command line, and follow these 
steps.  Give it a logical device address by using either Alt+A or A 
(if you know it).  Read Internal Codec IC Data (I).  Write the data 
to a file by using w and then typing in the filename 
(RESOURCE.ASM).

3.  We will now modify RESOURCE.ASM with the new information.  
A.  Add the following validation bytes at the beginning of 
RESOURCE.ASM.
		;EEPROM Validation Bytes
		DB	055H,	0AAH   ;EEPROM Validation Bytes (0BBH - CS4236)
		DB	000H	       ;EEPROM data length upper byte
		DB	0F5H		 ;lower byte
The lower byte which is the size will have to be corrected (step c 
below).
B.  We will now remove the PnP compatible id's for logical device 0
The entries are at the end of logical device 0.  They are:
		DB 	01CH,041H, 0D0H, 0B0H, 007H;	Compatible ID:PNPB007
		DB	01CH,041H, 0D0H, 0B0H, 020H;	Compatible ID:PNPB020
		DB	01CH,041H, 0D0H, 0B0H, 020H;	Compatible ID:PNPB002
C. We will now calculate the correct size of the data and the 
correct checksum.  This is done by running resource, reading the 
new RESOURCE.ASM and noting the errors for EEPROM size and 
checksum.  The mapping errors will disappear when the resources are 
downloaded to the CS4232/36.  Edit the RESOURCE.ASM and correct the 
two errors.
D. Create the new RESOURCE.BIN, CS32RES.BIN, or CS36RES.BIN from 
the command line:  resource /r=resource.asm /w=resource.bin

4.   From the Crystal Installation Diskette, copy the following 
files into your Win95 directory.
		A:\CS4232C.EXE ==>C:\WIN95\CS4232C.EXE
		A:\CS4232.INI ==>C:\WIN95\CS4232.INI
		A:\CWAUDIO.BIN ==>C:\WIN95\CWAUDIO.BIN
	 
5.  Prior to booting into Win95, the following must be done:
A.  Modify CONFIG.SYS with: DEVICE=C:\WIN95\CS4232C.EXE /W /X
B.  Go into the BIOS and set Plug and Play Configuration Mode to:  
Use ICU  Boot With PnP OS:  Windows95 TM

New Features:

SETUP:
Added support SETUP.EXE to uninstall WaveStream registry entries, delete 
Dos mode configuration file (CS4232.WCM), and delete CS4236B/37B/38B registry 
entries.

If the file CSPNP.INF is present when SETUP.EXE is run, it will perform 
a "preinstall."  It will copy the DOS driver, RESOURCE.BIN, CS4232.INF, 
and CWAUDIO.BIN to the Windows directory.  It will also modify the 
CONFIG.SYS by adding the following line, DEVICE=C:\WINDOWS\CS4232C.EXE 
/X /W.  The /X option is used to download resources from RESOURCE.BIN.  
Therefore, after SETUP.EXE is run and the machine is restarted, the DOS 
driver will download microcode and resource data.  This will override a 
card's or motherboard device's default resource data.

Windows 95 Driver:
Added support for new feature that allows restoration of the WSS state 
when a DOS application that owned the CODEC exits.  A new registry 
setting, 
"HKLM\System\CurrentControlSet\Services\Class\MEDIA\0000\Config\SNDSYS.D
RV\RestoreWSSOnDOSExit"controls this functionality.  If the setting is 
"OFF" or not present, the WSS registers are not restored until some 
application touches them.  If the setting is "ON",  the WSS registers 
are restored when the DOS application that owns the CODEC exits.  This 
has the effect of restoring the analog input volumes when the DOS app 
exits.  

Added code to save and restore OPL3 registers across suspend/resume on 
low-power parts.

Added hardware volume control functionality to Mixer.

Allows downloading of the uCode over the same version.

Add support for new WaveStream messages.

Added minimal code to keep the machine from hanging when a suspend 
message is sent by the system when WaveStream is running.  All that the 
code is doing is to reject the request when the VxD is queried as to 
whether it will take a suspend or standby.

Added support for muting the CODEC if an owning DOS box looses focus.  
This only works for SB ownership.  WSS ownership/focus hasn't changed.

Added APM Support to allow Codec_Reset() to restore PEN+CEN on behalf of 
DOS games.

Do Unlock_DMA_Region at non-interrupt time (debug kernel complains when 
called at interrupt time).

Add support for writing "Shutdown to DOS" configuration file from ring 3 
driver.

Display a message box that informs user that certain settings cannot be 
changed when WaveStream is active, and keep settings consistent.  
There is a small problem with this: although the message box is 
MB_SYSTEMMODAL, the user can still go back to the property page and 
change settings, which may have unwanted effects.  I am still working on 
a better solution.

Added support to not display WaveStream property page unless the real 
WaveStream drivers are loaded.

Support hardware master volume on CS4236B/37B/38B (different algorithm, more 
steps).

Support variable number of steps in hardware master volume control 
(support for CS4236B/37B/38B).


CS4232.INF:
Added strings for Wave and Monitor mixer titles for translation 
purposes.

Added new registry entry "WriteConfigurationFile" which specifies that 
CWAUDIO.VXD will write a configuration file to support the new "Shutdown 
to DOS" functionality.

Added support for WaveStream installation.  This includes installing the 
following files:  MSGLOOP.EXE, VWSTREAM.VXD, and WSTREAM.DLL.

Added registry entries for System Volume control.

Added strings for "Mic Boost" mixer titles for translation purposes.

Added strings to have the MPU-401 show up as the default.  These strings 
are commented out.

CS4232C.EXE:
1. Added a /C option to work in conjunction with the /O option.  The 
usage format is CS4232C.EXE /O /C<OPTION CONFIGURATION FILE>.  The 
default configuration file is CS4232.WCM.  This new option provides 
Default MS-DOS Mode support.

2.  When /O /C is used, a TSR is loaded so that when Windows 95 is 
entered or exited, the CS4232/CS4236 will be disabled. When entering 
Windows 95, the operating system will determine the configuration.  When 
exiting Windows into default Dos mode, CS4232C.EXE /O /C in dosstart.bat 
will configure the CS4232/CS4236 with the settings in CS4232.WCM.  

3.  Added support in CS4232C.EXE to dynamically set the Blaster  
environment variable when executed from Dosstart.bat.

4.  Added support to install CS4232C.EXE into Dosstart.bat.  The path 
used is the same path used for CS4232C.EXE in config.sys.


Bug Fixes:

Windows 95 Driver:

Changed CWAUDIO.VXD to fix the Direct Sound(TM) system hang when 
software wavetable was disabled (BUG INTRODUCED IN REL 1.60).

Fix problem where change in settings required a re-boot after getting a 
contention message while WaveStream is enabled.  The Codec was not being 
released after the error condition was detected.

Mute CS4236B/37B/38B parts by writing C27 and C29 instead of I27 and I29.

Modified unknown part detection in device ID routine.  Added new feature 
bit that identifies whether master volume control registers are in WSS 
or CTRL Port address space.

Changed APM resume logic to handle special Beethoven mute which uses 
maximum attenuation in the DAC Output Registers instead of the mute bit 
(which is broken).  This fixes a bug reported by QA where a WAVE file 
playing in a loop in Media Player became un-muted across a 
suspend/resume sequence.

Integrated branch change that fixed a bug where the CODEC was being 
auto-acquired by the SystemVM when Karaoke mode was selected.  The CODEC 
was never released, so DOS apps could not see it without re-booting.

Changed "CleanStraussAfterGames()" to use the master volume mutes 
instead of the DAC mutes to avoid a sharp "crack" when initializing.

Removed context sensitive help for the "Settings" property page.

Removed call to SendRESUpdate when updating resources after a 
suspend/resume. This caused the uCode to change index registers 18 and 
19 to a 0x7 which changed the synth volume.

Fixed bug in Enhanced Full Duplex that did not allow recording and 
playing simultaneously if play was started before record.

Remove Win31 only functions from Win95 executable.

Fix AVI sync problem across suspend/resume when in Enhanced Full Duplex.

No longer make the WaveOut device "active" at init time - this should 
only be active when a WAVE file is playing.  This fixes the problem 
where the ACT mixer test fails after reloading the driver through a 
property change. 

Fix bug on restoring code to the 8052 for CS4232s when there is a 
different version of code already loaded at resume-time - eg, BIOS on 
Toshiba laptop.  Basically,  CSAPM.C now uses the algorithm being used 
in the DOS driver: load minicode + check for code + load "jump to ROM" 
patch, etc.  Fix bug in PnPRestoreCSN() for the case that our part 
looses its vendorID on RESUME when there's no EEPROM - it responds with 
our *default* ID.

Fixed memory leak in driver property page hander.  When exiting from the 
"General" tab without entering the "Settings" or "WaveStream" tabs, the 
memory that was allocated to hold the driver settings was not being 
freed.

Fix problem that allowed a playback to start at a different sample rate 
than an already occurring capture in Full Duplex.

Fix for shutdown to DOS problems.  Now get Control Port address each 
time we write to it and fix problem with passing port address to I/O 
routine.

Fix problem with modem interrupt parity on Packard Bell combo card.  We 
were clearing those bits in CTRLbase+1 when setting the Karaoke Mode.


CS4232LD.VXD:
Fixed memory leak caused by passing wrong address to HeapFree() in 
AddFunction().

FM Driver:
Fixed hung note on pause caused by certain third party media players.

Made OPL3 mode the default in the driver.  This causes the "new" bit to 
be set each time FM is played.  This corrects the problem of no channel 
separation in MIDI files.  Previously, the bit was set across a 
suspend/resume which resulted in MIDI files with channel separation 
working correctly only after a suspend/resume sequence.

Added code to fix case where saving and restoring OPL3 registers across 
suspend/resume on low-power parts was not working.

Fixed problem where channel separation was lost across suspend/resume.

DOS Driver:
Fixes case where the audio card was not configured when Booting to MS-
DOS Mode on Non PnP Platforms.

CSPCPLE.DLL:
No fixes.


SETUP.EXE:
Fixed problem where not all CS4236B/37B/38B parts were being deleted from the 
registry.

CS32MIX:
Fixed problem where CS32MIX does not work in a Win 95 DOS box when the 
/O /C options are enabled in the Dos Driver and a dynamic setting change 
on the sb i/o occurs before going into a Dos box.

CS32MIX has a new GUI appearance and About Box Information layout 
format.



Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: web1, load: 1.23