Dual Module Player Version History

By Julien Pierre

Presentation Manager Version
The following versions also need version 1.03 of text-mode DMP, as that package includes the necessary DSMI.DLL/DRIVERS.DLL files.
 * December 23rd, 1995: first alpha.
 * French and English language support.
 * Most options won't work.
 * This version only uses DART.


 * December 24th, 1995: second alpha.
 * 2nd alpha.
 * Buttons added.
 * Not all buttons work yet.


 * December 28th, 1995: third alpha.
 * Finnish language support.

The following packages need various versions of DSMI, as noted.
 * February 10th, 1996: fourth alpha. This version needs the DLLs in DMP 1.04.
 * New presentation. Displays pattern number.
 * INI code written.
 * New dialog for settings, but not enabled at this time.
 * New photo :) (but still buggy when PM is less than 65536 colors).


 * March 9th, 1996: 0.5 beta. This version needs the DLLs in DMP 1.05.
 * Version 0.5 beta.
 * Settings dialog & INI code should work.
 * Warning: when you change driver or settings, you need to reload the file.


 * March 10th, 1996: 0.51 beta. Needs the same DLLs as version 0.5.
 * On-the-fly drivers/parameters change fixed. Will even continue playing the module with new driver at the point it was (MMPM/2 users : because of buffering it will restart later in the song).


 * March 14th, 1996: Fix for DSMI. For use with DMP 1.05 or DMPPM 0.5 and 0.51.
 * March 28th, 1996: 0.55 beta. This version needs the DLLs in DMP 1.07.
 * Added window to mute/unmute channels while playing (warning : not realtime with MMPM/2, only DART).
 * Finnish support updated.


 * April 21st, 1996: 0.60 beta. This version needs the DLLs in the DSMI update.
 * Reduced main window size.
 * New buttons thanks to Hrieke!
 * pattern buttons modified to mute song while pressed - CD-player like.
 * corrected a bug in the break pattern code that would leave some channels playing after breaking (bugfix to add to DMP text-mode also).
 * bugfix : when not in looping mode, DMP would fail to update the status line/buttons
 * bugfix : loop mode can now be changed while playing *and* works
 * bugfix : MMPM/2 detected correctly on non-DART systems
 * bugfix : INI code can now save MMPM/2 or NOSOUND as a setting


 * July 11th, 1996: 0.75 beta. Standalone version which does not need any other file.
 * Added drag & drop support.
 * Changed the way looping mode operates.
 * Many internal bugs corrected that I don't even remember.
 * Photograph should look in 256 colors too.
 * built with VAC++ (new runtime)
 * Problem when looping mode was disabled now corrected.
 * Added a list box to select the language.
 * Saves the PATH of the last module that was loaded.
 * Vastly improved language support.
 * Now shows version number in "About" box.

Command Line Version
Released versions :
 * DMP 1.0. November 30th 1995.
 * Initial release.


 * DMP 1.01. December 5th 1995.
 * Bugfix in the initialization routine, addition of songlist mode.


 * DMP 1.02. December 11th 1995.
 * addition of wildcard support (including inside songlists)
 * "@" character for songlists was replaced by ":" since "@" can be used in filenames
 * addition of "/VOL=" option to set volume on startup
 * you can now use any number of songlists and files on the command line
 * addition of the "Q" key to exit the program instead of going to the next module
 * addition of random playing mode with /RANDOM


 * DMP 1.03. December 19th 1995.
 * correction of a small bug in file parsing introduced in 1.02. Apparently I was the only one to discover it.
 * separation of the DSMI interface and the sound drivers. DSMI is now compiled with Watcom instead. As a result:
 * some corrupted modules which previously caused DMP to crash will now load. This is because of differences between the IBM & Watcom runtime libraries.
 * no more bug in looping mode. I still have to figure out why, though :-)
 * the sound drivers remain compiled with IBM C Set ++ because I can't get the Warp Toolkit to work with Watcom correctly, and some of my C++ doesn't work with it also.
 * small modification in DART volume command. *might* correct a problem with DART & SB Pro. I need feedback on this.
 * DSMI for OS/2 should now be at the exact same level of stability as the DOS version.


 * DMP 1.04. February 10th 1996.
 * added the /MOD parameter to assume 15-channel MOD file.
 * removed some debug code in the DART sound driver that caused beeps to be generated on the PC speaker.
 * added support for /16, /STEREO and /QUALITY parameters to make the command-line more consistent.
 * corrected a bug in memory deallocation that caused a crash.
 * added support for the NOSOUND driver via /DRIVER=NOSOUND.
 * added the /NOPLAY parameter.
 * made DETECT mode the default and removed the /DETECT parameter.
 * added information about the sound driver loaded by DMP and its settings.
 * corrected a bug in the FILE driver which appeared when overriding the output file name.
 * modified the DART driver to use the suggested buffer value instead of 4096.
 * corrected a bug in the S3M loader which sometimes caused an exception at the end of a module.
 * compiled with C Set ++ 2.1 again


 * DMP 1.05. March 9th 1996.
 * fixed a stupid bug in command-line parsing that was optimized in 1.04. It prevented some parameters from being accepted, like /VOL=xx where xx had more than one digit.
 * added the M2AMF utility to convert modules to the AMF format, which takes less space. Keep in mind you can only play those with DMP, and the conversion only works one way.
 * played with compiler optimizations a bit to reduce EXE/DLL size. I hope it still works :-)
 * modified the sound drivers to return an error when noquality 8-bit mode was request. Trying this on previous versions produced an exception.


 * DMP 1.06. March 20th 1996.
 * ExtTempo could cause a crash with incorrect values. Fix 3/14
 * MOD loader could cause a hang (with DMP unkillable) in the samples loading function. Fixed 3/14
 * some other MOD loader fixes
 * corrupted modules better supported


 * DMP 1.07. March 23rd 1996.
 * added Filter and Reverb effects using the /EFF= and /EFFECT= parameters


 * DMP 1.08. April 6th 1996.
 * added Dolby Surround sound option with /SURROUND or S key while playing
 * really made Soft Lowpass Filter the default. No filter was used by default in 1.07 despite what the doc said
 * now shows which effect is used upon startup
 * allows you to change effects while playing with the P/N keys
 * switched from C to C++. DMP now uses some features of the IBM Collection Class Library for memory management. That is why the EXE gained 40K in this version. The performance is still as good as ever, though.
 * DMP will now detect MMPM/2 automatically correctly when DART is not present on the system. This was a bug in previous versions of DSMI.
 * DMP will now display the title of a song when it is loaded


 * DSMI update. April 18th 1996. DSMI/2 update. Works with version 1.08 of Dual Module Player for OS/2. DART and file loader enhancements.
 * file loading routines : corrected a problem when reading past the end of the file. Applies to all file loaders.
 * MOD & MTM loaders : now ignores references to non existing instruments.
 * S3M loader : now ignores Ad Lib instruments.
 * DART support : changed the buffering scheme to use 3 buffers intead of 2 previously. While this makes DMP 50% less real-time than before (read : less responsive to commands), it has been proved to make it work properly in DART mode with most soundcards without having to fiddle with the /DARTBUFFER parameter - if it was at all possible with the 2 buffers scheme. This was not a bug on my part, but incorrect behavior from the soundcard drivers. The one I was using on my system, namely stock SB16 driver from Warp, of course didn't have the bug. So, if you have to complain, it's to the drivers' manufacturer, not me.
 * A word about real-timeness : you can still get DMP to be as responsive as before by reducing the DART Buffer to the lowest value that will work for you. The smaller the DART buffer size, the more responsive DMP will be, and the more CPU will be used.


 * DMP 1.09. July 11th 1996.
 * added a loop/unloop mode
 * uses a newer version of DSMI
 * more internal conversions to C++