*************** Manley Ultrasound OS/2 MMPM Driver HISTORY ********************

940215 0.1a - Initial release

...

960109 1.000 beta - First release of "next generation" driver

960110 1.001 beta - Bug fixes
	- made driver slightly more tolerant of fast I/O buses
	- fixed minor problem with ultrdiag
	- fixed problem with AVI playbacks

960115 1.002 private beta - Bug fixes
	- tried again to make driver more tolerant of fast I/O buses
	- detect and allow for more early models GUS'
	- FIXED patch loading disruptions!
		- no more slowdowns in playback
		- no more disruptions in communications

960117 1.03 beta - Enhancements
	- added new mixer library to prepare for full mixer support
	- added /L switch to enable line-in at all times

960119 1.04 beta - Bug fixes
	- fixed patch bending bug
	- fixed mixer output disabling after running UltiMOD

960122 1.05 beta - Bug fixes
	- fixed CD audio mixer input disabling
	- more pitch bending fixes
	- fixed mixer detection routines for strange rev 3.4 cards
	- added daughtercard mixer support

960301 1.10 - Enhancements and Bug fixes
	- added daughtercard mixer support
	- fixed obscure Trap Ds
	- removed limitation of >4 program (patch) changes in close
	  proximity during playback
	- fixed patch looping clicks
	- fixed clicks in DART playback
	- added multiple (2) ACTIVE digital audio streams (must use MINSTALL)
	- added SIMULTANEOUS digital audio, MIDI, and MOD (in shared mode = /S)
	- added icon to ultramem (thanks Samuel)

960110 1.20 - Enhancements and Bug Fixes (PUBLIC BETA)
	- added UltraSound PnP support (should work with any Interwave based
	  soundcard) :
		- proper detection and init on systems with *and* without
		  a PnP enabled BIOS
		- up to 16 MB DRAM (UltraSound PnP only supports up to 8.5 MB)
		- support non-standard memory configurations (i.e. 8.5 MB)
		- 32 voices played back at 44.1 khz playback
		- enhanced UltiMOD driver support for PnP (see below)
	- fixed clicks when opening/closing driver
	- fixed playback bugs (DART & Software Motion Video)
	- added CODEC recording (and full duplex!) (GUS Max & PnP)
	- added synthesizer recording (8 bits up to 44.1 khz)
	  (full duplex works, but is not really useful, since whatever you
	   play during recording will end up in the recorded audio)
	- added fake 16 bits synthesizer recording
	- mixer application added (UltiMIX)
	- RTMIDI support
	- fixed major irq handler bug
	- fixed shared mode bug

961911  - ultimod now always uses driver's memory routines
	- bug with Quicktime fixed (Max/PnP)
	  There's still a bug present with Quicktime movie playback, but
	  this is a bug in the quicktime movie player itself. 
	- ultramem redraw bug
	- GUS Max dma problem
	- Added a few extra ports for the VDD to monitor
	- DMA buffers for playback/recording halved (to 16 kb)
	- several other minor things

***************************** UltiMOD HISTORY *********************************
**** 24-03-'95 ****  Released Ultimod v1.0

**** 28-04-'95 ****  Released UltiMOD v1.1
              - Migrated my device driver and Robert Manley's MMPM/2 driver.
	      - Added MTM support. 
	      - Added the option to disable animation of the play button.
              - When random play is selected, songlists, that are passed on the
 	        command line, will be played randomly now.
	      - Saves path of songlist passed on command line for future 
		reference	
	      - Driver now displays default settings on bootup.

	      - Fixed problem with mods that execute a position jump to the
		current position when playing a songlist. (now loads next song)
              - Fixed bug in Slide Down. When sliding beyond note 1712 the
		wrong frequency was calculated.
              - Fixed bug in jump to loop effect (E6)
	      - fixed a few minor problems in the songlist implementation.

**** 24-08-'95 ****  Released UltiMOD v1.2 
	      - wild card support
	      - 2nd copy passes filename(s) to 1st copy of ultimod
	      - source code & info for device driver communication interface
		added
	      - Added exception handling. The playback thread will be unblocked
		when something bad happens. (divide by 0, protection violation
 		or kill signal) This prevents UltiMOD from becoming a zombie
		process that can't be killed. (when it crashes)
	      - S3M support added
	      - Beta XM support. (needs lots of work)
	
	      - Fixed bug in pattern break. (pattern breaks at line 64 didn't
		work)
	      - Fixed bug that prevented > 14 channels to be played. (oops)

**** 10-12-'95 **** Released UltiMOD v1.3
	      - Textmode UI added
	      - Added XM PanSlide, XM Global VolSlide, XM fine porta up/down,
		XM Key Off
	      - MAJOR efficiency increase. 
		i.e. 16 channel crolonog.s3m: 7% -> 3-4%
		Also responsible for (much) less CRC's while downloading with 
		high-speed modems.
	      - Songlist status saved in file (played songs, songs left etc)
	      - MTM working
	      - XM support much better now 
		(some modules still don't play right though)
	      - updated toolkit
	      - support added for 1 - 32 FastTracker modules
	
	      - Workaround for weird driver problem with samples > 64kb 
	      - Support for XM samples > 256 kb (8 bits)
	      - XM patterns (<64 or > 64 lines) work
	      - Fix in driver to support notes > 64 khz	
	      - Added a 3 ms delay between rampding down voices and
		(re)starting them. (less ultraclicks)
	      - Major playback bug removed. Caused too many restarts with
		some (a lot?) mods (mod, s3m, mtm, xm)
	      - Finetune bug removed. (runaway.s3m, 2ndreal1.s3m)
	      - Fixed XM Volume Column effects
	      - XM note > 96 -> note off
	      - rewind & forward problems with ultitext fixed
	      - Fixed UltraMemInit
	      - Fixed major bug in S3M volume slide effect. (now it actually
		works)
	      - UltiMOD sets the global volume back to the original level
		when it hits an S3M global vol effect with arg > 40.
	      - Fixed S3M arpeggio (arpeggio didn't continue with J00)
	      - Removed lots of clicks (especially noticable in 2ndreal1.s3m)
	      - PM ultimod no long crashes when it tried to play a songlist
		that consists of non-existing files. (div/0)
	      - Next button (or program) now works with non-random playback
		of songlists
	      - Even less chance at a hanging ultimod. (parts inside 
	 	critical sections should be crashproof now)
	      - fixed bug with rewind/forward (protection fault when trying
		to access an invalid pattern)
	      - fixed default panning for mods and s3ms
	      - less chance to get a fatal lockup in case of problems (change
		in driver)
	      - fix for hippo.s3m (appears to be a scream tracker bug)	
	      - corrupt mods won't crash ultimod as easily as before
	      - ultimod stops s3m's when it hits 255 in the pattern order
	      - fixed s3m effects K and L (with fine volslide down/up)
	      - Fixed sample offset effect bug 
	      - Fixed speed bug with forward/rewind (and s3m's)
	      - Fixed s3m load 'bug' (protection against invalid pattern
	        length in s3m)
	      - Fixed BPM bug. 

**** 04-03-'96 **** Released UltiMOD v1.4
Added	      - Support for XM envelopes (volume & panning)
	      - XM fadeout
	      - Implemented buffering to improve stability under
		high system loads and decrease CPU usage even more
    	      - Pascal port of the toolkit added
	
Fixed:	      - Linear frequency calculation (XM)
	      - Ultitext now displays the E effects 
	      - Playing of samples at octave 4
	      - Forward/rewind (yet again)		
	      - 16 bits samples > 256 kb converted to 8 bits 	
	      - XM double effect bug (volume column and normal effect)	
	      - BPM bug (very low bpm)	
	      - Handles samples crossing a 256kb boundary right this time

**** 19-11-'96 **** Released UltiMOD 1.5
Added:	      - DART & GUS version combined (made possible by rewrite in C++)
	      - BOTH: better error checking
	      - BOTH: exception handler for each thread
	      - GUS:  Gravis UltraSound PnP support (up to 8 MB DRAM & playback
	              frequency always 44.1 Khz)
	      - GUS:  clicks caused by rapid balance changes are GONE! (only
	              if you have an UltraSound PnP though)
	      - BOTH: drag 'n drop of a songlist or modules (multiple modules 
		      are stored in the temporary songlist ########.lst)
		      Both UltiMOD's main window (big part of it anyway) and 
		      the listbox in the create/edit songlist dialog box accept
		      dragged modules.
	      - BOTH: ability to select and play a song from a songlist
	              (Edit Song -> select song, press mouse button 2 & select
		       Play Song)
	      - BOTH: Put module and audio code into two separate SOM dlls
		      (MODULE.DLL & SNDCARD.DLL) to clean up the code
		      (and as an experiment with SOM)
	              (switched from Watcom C/C++ to IBM VisualAge C++)
	      		
Changed:      - BOTH: looping setting also valid when playing one module
	      - BOTH: instead of playing on, ultimod skips the the next song
	  	      or quits, when it encounters a position jump and pos. 
 		      jumps are disabled
	      - BOTH: completely rewritten envelope engine	    
	      - GUS:  braindead GUS memory allocation routine a bit more 
		      intelligent
	      - GUS:  blocking status of threads changed to interruptible
	      - BOTH: automatically look for helpfile in directory of executable
	      - DART: allowed more playback frequencies
	      - BOTH: OS/2 Warp 4.0 notebooks
	      - BOTH: File selection filter in Warp 4.0
	
Fixed:	      - GUS:  no more fatal UltiMOD crashes! (about time too)
	      - GUS:  loading of a modfile doesn't cause CRC errors anymore	
  	      - GUS:  Sample size up to 1 MB (XM) and 512 kb (MTM) 
	      - GUS:  memory allocation bug in driver (allowed you to load
	    	      more samples than available onboard DRAM)
	      - DART: Forward/rewind division by zero bug
	      - DART: Clicks when playing XM's
	      - BOTH: XM volume
	      - BOTH: XM Panslide
	      - BOTH: XM panning corruption (playing an xm after an s3m)
	      - BOTH: REALLY irritating s3m instrument bug (fixes inside.s3m and
 	              removes ultraclicks for i.e. cronolog.s3m)
	      - BOTH: volume slide fix		
	      - BOTH: XM load bug (extra checks added)
	      - BOTH: Global volume slide & set
	      - BOTH: tremolo 
	      - BOTH: restoring of original volume & speed values for the next 
		      song
	      - BOTH: Overlapping buttons in 1024x768
	      - BOTH: another XM load bug (K_CITAWE.XM)
	      - BOTH: 2 S3M load bugs (PN_TECH.S3M and ACKOO.S3M)
	      - BOTH: vibrato bug (not present in version 1.3)
	      - BOTH: arpeggio bug
	      - BOTH: XM keyoff bug
	      - BOTH: Fix for ackoo.s3m (set speed & tempo in adlib channels)
	      - BOTH: nested effect E6 bug (chains.mod)	
	      - DART: XM bidi sample bug
