Varmint's Audio Tools Revision History
--------------------------------------

Version 0.61 (beta)  (Aug 9, 1995)
  - Added code to handle MIDI volume parameter
  - Track/voice control on FM MIDI
    - added 128 default FM patches
  - Floating point removed (FP code was causing crashes on 
    without an FPU.)
  - Mod code fixed up and debugged
  - More robust FM toggle on MIDI
  - Linear SetFrequency (takes Hz as an argument)
  - Improved MIDI voice handling
  - Looping sounds no longer get pushed off sound list

Version 0.6 (beta)  (May 27, 1995)
  -Major API rewrite
    - Changed about 50% of the function names
    - Rewrote some function families to behave similarly 
    - Moved Mod and Midi crontrol to a function interface
  - Improved the demo for stability
  - Added Debug string
  - Implemented chaining and chain functions for Midi's, Mod's and 
    sound effects.
  - Implemented enhanced digital playback with frequency and volume
    control.
  - Raised Midi track limit from 16 to 32.
  - Added overhead calculation function
  - MANY bug fixes and enhancements
    - Fixed delay and timer functions
    - Fixed IRQ error bug
    - Protected key parts of the code from interruption.
    - Fixed bug in midiplayer that mishandled running status events.
    - Adjusted MPU reset code
    - made SBSetUp() more robust
    - Static Control with DMA flipflop ordering
    - cut default dma_bufferlen from 60 to 16.
  - Cleaned up header file

Version 0.52 (beta)
- MOD code optimization (20% improvement)
- DSP buffer swapping (Fixes some static problems)
- Vsync Timer function
- Checks for adlib FM chip before sound blaster FM
- Bug fixes
  - getenv() now dumps to a static variable
  - fixed patchmap bug in MIDI
  - File output in demo is now a debug option
  - SB_setup now allows a full range of IRQ's
- Modifications
  - Midiplayer cleaned up


Version 0.51 (beta)
  - Re-organized Interrupt guesses
  - Cleaned up irq test code
  - Cleaned up interrupt handling code
  - Took out clock delay function
  - Cleaned up timer functions
  - Removed nearly all inline assembler
  - Cleaned up dma_set() (fixed a minor bug with channels 4-7)
  - Took MIDI check out of SB_setup
  - Added separate mid/FM toggle variables
  - implement debug globals to turn some options on and off easily
    - sb_int disable interrupts
    - Antistatic byte
  (This cleanup fixed a lot of stack overflow and irq errors)

Version 0.5 (beta) (April 16, 1995)
  - Added MPU-401 support
  - Added MOD file support 
  - New mixing kernel (about 20%-30% more efficient)
  - Enhanced Sound blaster setup
    - support for 1.x versions  (1.x mode still has a little static)
    - bug fix for unset blaster variables
    - No longer needs BLASTER varaible
  - Vertical retrace check function
  - Increased stack to 12K
  - A few minor tweaks I can't remember (my project file died)
  - Minor house cleaning

Version 0.41 (beta) (March 19, 1995)
  - Stack overflow bug fix.  (increased stack size ot 8K.  Just a 
    Band-aid, really.)
  - loadwave() now converts data to signed format (This makes things
    slightly more efficient in sb_int()
  - Cleaned up the code a little more

Version 0.4 (beta)  (March 11, 1995)

  - Moved sound handler off of int08 and onto the DSP interrupt.
     (Slight decrease in overhead).
  - Improved Midi tempo handling
  - Cleaned up the code.  (no more compile-time errors and warnings!
  - Recompiled demo under large memory model (instead of HUGE)

Version 0.3 (beta)  (Feb 26, 1995)

  - reorganized mixing kernel and sound list to lower cpu overhead
  - added cpu overhead check
  - added limit to # of sound effects  (adjustable)
  - add voice rectifier for midi (allows midi player to allocate voices
      More efficiently.)
  - added instrument loader (also wrote a graphical FM voice editor to
      be included with the distribution.)
  - Fixed major bug in loadwave (unallocated data pointer)


Version 0.2 (beta)  (Feb 23, 1995):

  - took out adlib recognition.
  -  Made vector removing functions more stable
  - added more comments
  - ressurected DMAset function and fixed a few errors
      - added polldma()
  - getsbenv() converts to upper case now
  - Added far/huge sound data pointer option (see sound.h)
  - Made SB_SetUp() a little more informative (added error codes)
  - Converted to DMA-based digital playback
      - About 80% faster 
      - Variable playback rate supported now!


Version 0.1 (beta)  (Feb 10, 1995):

     - Added background sound handler
     - Added comments everywhere
     - Added Midi functions
     - Added Wave reader
     - Removed about 50% of soundX functions
     - Added SetFreq()
     - Wrote Demo



Prehistory (1993):  SoundX by Peter Sprenger

