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