*************** 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 QuickMotion fixed (Max/PnP) - 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 970301 - converted to 32 bits flat memory model - enhanced install program - extra memory allocation checks 972005 - fixed 'no sound' bug with certain MIDI files - trap when playing some wave files - QuickMotion fixes - GUS rev 3.7 working properly - totally new and improved version of Ultimix - new GUS S3M player written in Pascal (+sources) by Juho Pesonen ***************************** 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 8-2-'97 - BOTH: Songlist bugfixes - BOTH: Small interface changes/bugfixes - DART: UltiMOD no longer uses the entire card while playing modfiles - BOTH: Changed from MMPM/2 buttons to ordinary buttons, so the main window of ultimod looks decent with small fonts