This driver is provided "as is", without any guarantee made
as to its suitability or fitness for any particular use. It may
contain bugs, so use it at your own risk. I take no responsibility
for any damage that may unintentionally be caused through its use.

Name   : GadgetLabs WavePro series windows driver

Systems: 7 and later

Version:  - 32/64 bit OS support
                   - up to 4 cards in system
                   - FullDuplex channel support
                   - 24bit playback/recording support
                   - sample rates: 44100, 48000, ( 88200, 96000 ) (system supports others with resampling)
                   - daughter cards will never be supported
                   - different buffer sizes
                   - stereo/all channels
                     All channel is used for surround support. If All channel is opened it means that all
                     the inputs and/or outputs are reserved for it. So you can have up to 7+1 surround
                     support on 824 cards.
                   - Full Graphic User Interface
                   - MIDI driver

date: 15.06.2014

by: Waldemar Haszlakiewicz ('wal demar. has zlaki e wicz @ sio l.n et' <- remove spaces to get mail address)

For any help/support join the GadgetLabs group:

Thank you-s:

1st things first we all should thank Jay because if he wouldn't support us I doubt there would be any driver for Windows.

2nd We have to remember another good Gadgeter and our friend James Manning.
    You were one of the founding fathers of wonderful Gadgetlabs comunity and we will always be in debt for love that you shared.
    We love you man and we'll see you in heaven... first round is on me.

3rd Please read the request.txt in 'Help me with my Dream' directory.

4th For the old days I have to thank the whole GL Love Teem which send me a 824 card. :D
    A special thanks goes to 'white' previously known as 'gray' -> it responds also to 'massive brain'. ;)
    And to Patrice Payen for his mighty mighty tasting chocolates. :)

Love you all. :)

The whole GL Love Teem (alphabetically -> except for Sky ;) ):
Sky "The GL girl"

Allen Myers
Andy McDonough
Bob Watson / Blind Reality
Chalmers Davis
Chris Short "Red"
Cliff .S. Russell
Come Together Music
CSR / S-O Taryk
D'Arcy Rittich
Dean Goble
Dick Winograde
Doug Proctor / Skunkworks Audio
Eric Beam
Eric Harrington
Ex-gadgeteer Jay S. / emmaker
Francois Groulx
Franksterman FR
Gene Maruszewski
Geoff Collier
gray systems deep / gray / massive brain Ink.
Hans van Andel
Hartmut Paul
James Badger jb
James Edward Manning
Jay A. A.K.A. Control Dude
Jeff D.
Jeff Eyberse
Jim / Melanie Wacker
Jim Stewart
Joergen Roskjaer
Julio Aguirre
Kiko justsayspotcom
Kyle Dunn
Larry McDonald MCINCUBUS
Maak Bow
Marty Nelson
Mr. Bloke
Nic Ventura
Paul / Mary Freudental
Paul Hartmut
Patrice Payen
Phillip V. Heijningen
Richard Marshall  A.K.A. Critical Mass
Robert Ludwick, Hinterwaldler Studio
Robert Watson
Robin Ives backlighting-UK
Russell Kalman
Shiu Kwok Kuen
Tony Hoare
Udita J
Uihs yennek
Vafam Sound
Vincent Colletti / Custom Stringed Instruments
Wendy Hutton
White Light Tech. Inc
Wim Prest


1st Installing/Uninstalling:
    - How to install: check the 'how to install.txt'.

    - Multicard system : - YOU HAVE TO install/uninstall all the cards at the same time if you wish
                           that card serial number are correct.
                           Or you can install one now and one after whatever time, but you will have to
                           reset the machine.
                         - You can install only 1 card if you want and disable others.
2nd Don't drink and drive!!!

3rd Love all world people, we are all part of this small vilage called Earth.

Errors that can happen:

1st Aaammmmmm ???? mmmmmmm ????? hmmmmmmm  Well that's it. :)

News:   - Converted code for Unicode support (antdes45)
          - Converted code for WDK 8 and up support (antdes45)
            This driver version doesn't work with OSes older than Windows 7.   - Fixed the 824 not working bug -> code was specially designed for 4xx cards MIDI testing -> removed test code.
          - Disabled automatic sync in GUI -> need to come with some good way to do it... the problem is Win7 which
            opens channels in the background.   - Unsync data is reset on card uninstalled.   - Fixed some minor issues in GUI.
          - Added specific card data to driver and GUI.
          - Fixed inf file Wow64 32bit ASIO dll problem.   - MIDI driver added... needs at least XP SP2.
          - Run->Pause->Run state solved... the reported clock was not correct, so playback didn't start.
          - GUI bug pointed out by Tom324. Thanks man. :)
          - Kernel bug pointed out by Tom324. Thanks man. :)   - First public release of the new driver.

4.0.0.x   - Internal versions of the new completely rewritten 32/64 bit driver.  - First version of ControlPanel released.  - Fixed a bug in Altera clock detector.
          - Fixed a bug in driver sync detecting code.  - Added even more of the log stuff.  - Added extensive logging on sync code -> needed for detecting the sync problem.   - Redesign of the sync code in hardware and software.
          - Driver remembers monitor status when in ASIO driver (it sets it back when ASIO driver closes).   - In previous version I've broken part of the MIDI driver, so now I've set it back to the correct state.
          - Fixed communication types in PIN definitions.
          - Midi driver update -> now it supports MIDI direct streaming(I hope :) ).   - Fixed Midi open channel procedure.
          - Fixed Midi pin names.
          - AudioIntersectHandler add to audio in channels.
          - Fixed a bug in CancelPendingIoctl_ASIO procedure.   - Drastically improved Altera code timings.   - Improved Altera code timings.   - I've changed so many thing I forgot counting.   - ? ( Forgot what I did. :) )   - ?   - New synhronization code -> this time properly done.
          - Fixed a bug in cards sync detection.
          - Code clean up -> a drastic one.
          - Fixed a bug in SetDataFormat (if ASIO channel was opened).
          - DirectX MIDI in works correctly now -> small bug and lots of trouble.   - New Altera code added -> lots of stuff was removed from the driver and lots of procedures
            were rewritten -> just toooo many changes to tell here.
  - Fixed a small bug in play a sinus sound proc (needed for ControlPanel).
          - Added a mute function for 4xx cards -> it doesn't mute the whole channel, but just the CODECs.  - Added variable to the registry that will allow users to set the waiting time in Altera programming code ->
            so that user could find the delay that it works for him.  - Complete ASIO driver redesign (95%) and 15% of lower level driver.
            Changes: - lower driver is ASIO multiclient capable -> ASIO driver isn't yet
                     - lowel driver is now protected against ASIO driver/host crashing as it should be 
                     - 16bit sample support was added  - Fixed an ASIO synhro bug.
          - Internal.   - Fixed a bug in ASIO monitoring code.
          - Changed the IOCTL_SET_SAMPLE_RATE slightly to allow ControlPanel to change the sample rate.
          - Small change to inf file -> inf file is copied to the inf dir again.   - Parts of SetSampleRate rewritten again.
            Fixed BUG in SetClockSource(90% of the procedure rewritten).   - Changed some delays for 4xx cards and for 824 ADC part.
          - Rewritten 60% of SetSampleRate procedure -> 824 cards have a little more delay now, but
            the converters should work at their best performance now.
          - Added another IOCTL for ControlPanel sync card definition wizard.   - Fixed a small bug in ASIO driver.   - Missed to program 1 PLL register -> sampleRate of 88200Hz didn't work.   - Rewritten PLL setting procedures -> removed all line pullings and stuff
            (now there are just big delays -> 1ms) -> also rearanged/changed how register get set,
            so that clocks wont be enabled until PLLs are all set.
            All this, in short, means that programming of "PLL" takes 30seconds.
          - Fixed some ASIO driver bugs.   - Fixed some ASIO driver bugs.   - ASIO driver added (tested on Cubase SX2).
          - Change Altera programming (it takes 9 second to program Altera).
          - Lots of other small things.  - Fixed a minor problem in Altera programming code.
          - Fixed a bug in driver uninstall (synced cards).
          - Fixed a small bug copying 24bit packed samples to the card.
          - Changed copyBuffers procedures a little for faster copying.
          - Commented out some MIDI initializing parts -> not needed right now.  - Removed/Added some parts of ControlPanel.
          - Internal -> not released.  - Bug fix: slight change to SetSampleRate procedure.  - Established ControlPanel communication.
          - Cards can synhronize -> option not available to the users -> there are still minor offsets.
          - 4xx cards PLL programming timings changed.  - Full optimization tests.
          - Internal -> not released.  - Ups, enabled some disabled code back.
          - Internal -> not released.  - Somi minor internal changes.
          - Internal -> not released.  - Logger changes.
          - Internal -> not released.  - Logger changes.
          - Internal -> not released.  - Logger changes.
          - Internal -> not released.  - Complete redesign of memory synhronization requests.
          - Internal -> not released.  - Logger changes.
          - Internal -> not released.   - Redesigned sinhronization procedures and variables -> caused lots of changes to whole driver -> removed
            some unsafe code.
          - Fixed a bug in release card procedure.
          - Redesigned stop card process.
          - Fixed start click.   - Fixed MemoryTest bug causing bootUp freezes and system instabilities.
          - Internal -> not released.   - Logger changes.
          - Internal -> not released.   - Logger changes.
          - Internal -> not released.   - Logger changes.
          - Internal -> not released.   - Reconfigured Altera programming, 4xx codecs code and 4xx PLL code.
          - Starting of 2 master cards in sync is not permitted anymore -> removed some possibly hazardous code.
            Now only the last channel master card will be started.
          - Bug: If a 32bit mono channel was opened with WAVEFORMATEX, driver misinterpreted it as stereo.
          - Some changes to Create, Close and SetDataFormat procedures.
            Now every possible MONO channel type is supported.
          - Bug: If multiple channels were running and that one changed state from RUN->PAUSE->RUN without going
            to "release resources" state driver started all the channels again -> DPC audio engine failed
            because there were more channels to process than there are in system.
          - Removed Sonar reserved sample type -> now the driver uses left justified sample for every application.   - Logger changes.
          - Internal -> not released.   - Changed 4xx codec code a little again -> changed the codec programming mode -> there were still some strange
            noises coming out of DAC 1.   - Altera programming code changed again ->now Altera is programmed every time (but PLL is only 1 time).
          - changed driver interface names
          - fixed the freeze after reset bug
          - changed drivers returning error code -> now system wont freeze any more if error code is returned
          - 4xx codecs code changed a little -> there were some strange noises coming out of DAC 1
          - uninstall procedure has changed -> now you can uninstall cards in any order -> but no channels should be in use.
          - added some deviceIoControl procedures -> you can set gain, monitoring,... - Removed audio safety net -> causing some AUDIO_POSITION problems.
          - Fixed a bug that was already fix some time back, but reappeared because of different compile/link setup.
          - Complete redesign of AUDIO_POSITION.
            It was causing some problems with MediaPlayer and maybe even created some pops because of wrong position.
          - Code clean up. - AUDIO_POSITION added.
          - Some changes to audio engine. - Different compile/link setup. - Rewritten chip programming code, also added some really big delays.
          - Mono support.   - Just disabled initialization of daughter cards.   - Fixed a real spy bug->it was hidding so good for so long time ....argggg but I found it. :)
            (As the wave engine tries to sync the buffers back to the others if something goes wrong,
            there are some checks and if really everything failed (which would be very, very rare)
            the bug would do it's job->system crash.)
           -BufferSize is back to normal -> so 3ms buffer means 3ms buffer. :)   - Fixed a nasty bug in syncStart function.
          - Added support for 16 bit samples.   - Enabled 24bit recording.
            Very little to the outside, lots from within.   - First public beta release.