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

GEODE - Wavedev
Windows CE native mode audio driver

Version 1.2.2

Date: 10/16/2000
Author: Mario Raposo

Copyright (c) 1999-2000 National Semiconductor Corporation
All Rights Reserved.

This software is the confidential and proprietary information of National 
Semiconductor Corporation Corporation. ("Confidential Information").
You shall not disclose such Confidential Information and shall use it only
in accordance with the terms of the license agreement you entered into
with National Semiconductor Corporation Corporation.
This code is supplied as is.

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

Table of Contents 
----------------- 
- Release functionality
- What was done in this release
- To be implemented in next versions
- Product files 
- Installation
- Version changes 


Release functionality
------------------- 
- AC97 Mixer lines
- Wave Recording
- Wave Playback


What was done in this release
-----------------------------
- Fixed the Keyboard-click loop problem found by validation.


To be implemented in next versions
----------------------------------
- Full-Duplex Playback/Recording. 
 

Product files
-------------
Sources
Makefile
Gxaudio.h
5530_glb.h
5530_def.h
AC97.h
OS_inc.h

Gxaudio.c
duraudio.c

Gxaudio.rc
resource.h
ReleaseNotes.txt

wavedev.pbp
wavemdd\wavemdd.pbp


Installation 
------------
1. Create a directory and copy the files (including the directory structure) into it.
2. Open your build window (ex:MAXALL)
3. Type build -c on the root of the directory 
4. The resulting .DLL is copied into your CE release directory.
5. Add the entries with the desired default mixer values to your project.reg under [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\WaveDev\]:

	[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\WaveDev\]
	"Mixer_Master"=dword:0000
	"Mixer_PCM"=dword:0000
	"Mixer_PC_Beep"=dword:0000
	"Mixer_Headphones"=dword:8000
	"Mixer_Mic"=dword:8000
	"Mixer_LineIn"=dword:8000
	"Mixer_CD"=dword:8000
	"Mixer_DVD"=dword:0000
	"Mixer_TV"=dword:8000
	"Mixer_REC_Select"=dword:0000
	"Mixer_REC_Gain"=dword:0F0F

6. Change the IRQ on your platform.reg:

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\WaveDev\]
   "Prefix"="WAV"
   "Dll"="wavedev.dll"
   "Index"=dword:1
   "Order"=dword:0
   "Irq"=dword:5       ; IRQ 5 is selected
   "Dma"=dword:5
   "IoBase"=dword:220
ENDIF

7. Build your project.



Version changes 
----------------
--------------------------
Version 1.3 RC2 (09/11/2000):
--------------------------
- Added AD1819 support (New Duraudio code).
- Changed the assembly code to "C" commands (New Duraudio code).
- Synchornized the Duraudio code with Linux.
- Made it simple to build (No extra subdirectories involved)
- Fixed the "Sources" file to build under TVPAK.

--------------------------
Version 1.3 RC1 (09/05/2000):
--------------------------
- Added AD1819 support
- Changed assembly code portion of the code to "C" commands
- Synchronized the OS independent code (Duraudio)

--------------------------
Version 1.2 (06/12/2000):
--------------------------
- Fixed bug on the recording.  It would only allow it to record once and then lock the device.

--------------------------
Version 1.1 (05/17/2000):
--------------------------
- Added support for the SC1200 platform (Still needs to be tested. BIOS guys have to make sure the VSA is right). 
- The Duraudio functions are implemented in this version
- Variable Buffer size (Duraudio change)
- Added Mixer settings read from registry

-------------------------
Version 1.0 (09/22/1999):
-------------------------
- Fixed all the Clicks on the DDTK tests.   

--------------------------
Version 0511 (08/31/1999):
--------------------------
- Implemented the interrupt mechanism
- It passes all DDTK tests. It looks like a bug on the test program causes the click on Test #15. It needs some more investigation.

--------------------------
Version 0505 (08/05/1999):
--------------------------
- Rearranged the code that is not dependent to the hardware into a separate library.
- Added Version numbers and control information to the file header.

--------------------------
Version 0503 (07/28/1999):
--------------------------
- Implemented recording capabilities. 
  It records in all required sample rates: 
  Mono and stereo. 8 and 16 bit. 

- Added another IOCTL to send general CODEC control codes (CODEC_SET_REG).

--------------------------
Version 0501 (07/22/1999):
--------------------------
- Implemented an API for Mixer calls.  The driver receives the messages through DeviceIoControl. Depending on the Command code it sets Volume or Mute settings on the Codec.

- Added a Mixer Application. The application is added to the Windows directory on the target machine. 
  It supports Volume, balance and mute for Main, LineIn, CD and Microphone.
  That application sends commands to the driver that sends the control codes to the CODEC.
  I intend to add a speaker icon to the taskbar in the future to mimic a standard Windows mixer.

--------------------------
Version 0500 (07/09/1999):
--------------------------

- Playback in all required sample rates.  Mono and stereo. 
  Added a variable timeout value depending on the sample being played.

- Changed the mixing algorithm.  The initial driver was copied from the Soundblaster 
  example and because of that, the left and right samples were being mixed together on the same 16bit.  
  As a result, a 22k stereo sample was being played at 11k resulting on a considerable loss of quality.  
  Also, at 44k stereo, the hardware was emptying the buffers faster than the driver was filling them up 
  (Even with cur_timeout=1!) and I had to allocate a bigger buffer (4096k).



