 OmniPlayer v1.00                                       zilym@hndymn.stat.com
 Written by Zilym Limms                         (c) 1993-95, Edward Schlunder
 ÄÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÄ
 v1.00ÄÄ[ More Features, Bugs Fixed ]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ[03-11-95]

    + Scope Rewritten in ASM
         The scope has been rewritten for speed and size.. Yes,
         this is part of a bunch of rewrites that OmniPlayer
         will have soon so that eventually it'll be 100% ASM or
         a mixture of ASM/C (yeah, moving most of my programming
         to C now instead of PDS).

    + Implemented a power bar at the top..

    + ST v3.2 Fine Vibrato Implemented

    + Implemented UltraTracker v1.60 support to 2GDM
    
    + Added the setup program. This'll let you forget having to put -Cx
      and all that other crappy sound card config stuff on the command
      line.

    ! SB 1.xx, SB 2.xx, and SB16 IRQ 10 fixed

    ! Arpeggio Lockup Bug Fixed
         If a song tried using arpeggio without any notes played
         on the channel, it would sometimes cause arpeggio to
         lock up the machine.

 v0.99ÄÄ[ More Features, GUS Bugs Fixed ]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ[12-11-94]

    + Scrolling Sample List Implemented
         Good, finally I can read the *whole* greetings list with
         all these nice S3Ms I've got.

    + GDM Loader Rewritten in ASM
         GDM loading is now faster and uses even less memory (but
         only by a couple of bytes). Also uses considerably less
         EMS memory than other file format loading does.

    + Play Testing Implemented
         You can now press the QWERTY keys in the sample list to
         play the currently highlighted sample at different
         frequencies. If you don't like the music playing at the
         same time, pause it (space bar) and turn to master volume
         down to 0 (it won't turn down the play testing volume).

    + GUS Output Scope Implemented
         This isn't a *perfect* representation of what's being
         played, but it is so damn close that you won't notice
         anything odd.

    * Fixed Many GUS Bugs
         Fixed so many I don't have enough fingers to count 'em
         with. The problem with SBOS is gone, Porta Note+Vol Slide
         works correctly on GUS, the problem with exiting ST3 and
         MDP is gone, problem with EMS memory corruption is gone,
         problem with exiting Windows is gone, etc.. You shouldn't
         have any more problems with GUS support now.

 v0.98ÄÄ[ GUS Support, 669 Runtime Loading ]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ[10-31-94]

    + Gravis Ultrasound Support Implemented
         NOTICE: GUS SUPPORT CURRENTLY LOCKS UP WHEN SBOS IS LOADED!!

         Whew! This one took a while, about 5-7 days. Had the first
         working version done in 5 days, but didn't get any time to
         implement UltraClick removal until 2 days later (darn school
         work!).

         The scopes are currently nonfunctional with a GUS. DMA
         channel is not autodetected, so it shows up as 0 on the
         screen. It's currently not used, so that's not a real
         problem. IRQ autodetection only checks for IRQs 2, 5, 7,
         11, 12, and 15. If you have it on an IRQ other than those,
         you'll need to use the -Ixx parameter.

    + Command Line Filename Grab Routine Improved
         You can now specify more than one file spec on the command
         line. It no longer needs to be the first parameter. Files
         can also reside in directories other than the current one.

    * High Note Periods Fixed
         Some of the higher notes had incorrect period values in OP.
         This wasn't very noticable on my SBPro, with the GUS I
         started cringing all the time for some reason. This now has
         been fixed, module formats with high order octaves (notably
         S3Ms) should play slightly better now.

    + 669 Runtime Loading

    * 669 Sample Clicks Removed
         A mindless bug of one byte in the sample loading section
         for 669s caused each sample to have one extra sample to
         begin with that did not belong! This caused clicking in
         some modules.

    * S3M Volume Slide Fixed
         There is a slight bug in Scream Tracker 3's volume slide
         which will cause it to slide the volume down when there
         are two slide directions given. Now the S3M load routine
         will check for this and change the slide data accordingly.
         This will make 2ND_SKAV.S3M play correctly.

    * S3M Arpeggio Fixed
         This bug caused OP to not do an Arpeggio when it should
         have.

    * S3M BPM Effect Fixed
         Now BPMs below 32 are ignored rather than set to 32. This
         makes OP a little more consistant with ST3.

 v0.97ÄÄ[ PAS Support, MED Runtime Loading ]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ[10-09-94]

    + Pro AudioSpectrum Support Implemented
         For those of you with PAS cards, you no longer have to listen
         to modules in 21KHz mono with the SB1.x engine. Make sure to
         have MVSOUND.SYS installed and then use the -C5 option to
         select PAS output.

         Thanks go to John & Robert Peasley for letting me borrow their
         PAS and to Hurricane/OTM for letting me borrow his PAS User's
         Guide.

         Note: For those of you who don't know it, you really should
               use a 16bit DMA channel (those above channel 3) because
               it really uses a lot less CPU time. Try it yourself,
               you'll notice the difference with a bench marking
               program under an OS shell.

    * MED 2GDM Conversion Rewritten
         I completely rewrote the MED conversion in 2GDM since the old
         routines were before I had any documentation on the file
         format! So, naturally, the old one had many bugs and
         inefficiencies.. This one should fix most little problems
         experienced before.

    + MED Runtime Loader
         Finnished the MED runtime loading routine.. Currently doesn't
         support OctaMED modules; I don't have any to test on!!!!!
         Please get in contact with me if you have a lot of OctaMED
         or regular MED modules because I have very few to work with!!

    + MOD Runtime Loading is Faster
         I rewrote the signed/unsigned sample conversion routine in
         ASM, so MOD that use a LOT of sample data will load faster.

    + Mixing is Faster
         Mixing is now faster.. It's almost as fast as it'll ever get
         now; the main mix loop is only 9 instructions long in the
         mono version! Panning now longer uses so much CPU time either!

    * Scope Works on DMA <> 1
         Previously the digital output scope only worked on systems
         with their sound cards setup on DMA 1.

    * Set Pan Fixed (8xx, Xxx)
         The 128 position panning effect was being converted slightly
         wrong before. Not a real big deal, but, we're trying to make
         OP as close to perfect as possible.

    * Pitch Effects Fixed
         Many of the pitch related effects were able to start up an
         ended sample when they shouldn't have. Now OP won't start
         playing when it shouldn't be.

    * Internal Changes
         Some minor internal changes made in the MSE interface for
         upcomming GUS support and BWSB release.

 v0.96ÄÄ[ Bugs Fixed ]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ[09-27-94]

    * SB16 Works Again
         I had meant to release v0.95 a couple days ago, but this bug
         *had* to be fixed. Sorry.

    * Stuttering Fixed on Pattern Change
         The left and right keys no longer cause the module to stutter.

 v0.95ÄÄ[ Bugs Fixed ]Ä Not Released ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ[09-23-94]

    + Master Volume Implemented
         You can now change the master volume level instead of being
         stuck at 64. Use the -/+ keys to change volume.

    + Set Global Volume Effect Implemented
         The ST3 set global volume effect has now been implemented.
         Not many modules exist using this.

    + Tremolo and Tremolo Waveform Implemented
         Yep, I finally got around to doing it! I don't really have
         any modules to test this very well with, so help me out
         folks by playing you're mods with OP!!

    * SB16 Lockup Fixed
         The SB16 MSE should work correctly now.. I haven't been able
         to get Stalker to test it yet, but at least it doesn't lock
         up on my system anymore. One stupid line of code was missing,
         and that's all.

    * Arpeggio Fixed
         Arpeggio will no longer start up a sound if it has ended.

    * Retrigger Fixed
         Retrig had another timing problem that has been fixed.

    * Pattern Loop Fixed
         Pattern loop would previously loop on some occasions when
         there wasn't evena pattern loop start location.

    * Note/Sample Events Fixed
         There was a little problem with a note event without sample
         event that made it possible for a division by zero. Now
         DONTUWAN.MOD will play without locking up.

    * Vibrato DIV/0 Fixed
         Another vibrato division by zero error fixed.. Sure would
         be great if we got rid of all these stupid DIV/0 bugs..

    * Porta to Note Fixed
         Previously it was possible to start a porta to note without
         having a note currently playing, which could possibly cause
         a division by zero.

    * Panning Changed
         Panning has been changed to make middle positions a little
         louder (and thus can compete with L/R positions).

    * Pause Fixed
         Pause (space bar) now works again.

 v0.94ÄÄ[ More Effects, MTM Loading ]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ[09-15-94]

    + Pattern Loop Implemented
        The pattern loop effect (E6x) has now been implemented.

    + Invert Loop Implemented
        The invert loop (aka Funk It) effect (EFx) has now been
        implemented. Hardly any modules use this one though, so I
        guess this was wasted effort.. Oh well.

    + MTM Runtime Loading Implemented
        Yeah, well, not much else to say about this one.. I
        implemented it *late* last night, so make sure you email me
        your bug reports!

    + Wildcards Supported
        You can now enter a wildcard for the filename and it'll play
        all the modules matching that file spec. Press N to cycle to
        the next module..

    * Sample Looping Fixed
        A major bug in the stereo mixing routine has been fixed.
        Previously a looped sample would periodically turn it's
        volume to zero without my permission. I can't believe I
        didn't catch this bug before, ugh..

    * Video Mode Switching Fixed
        Now going in and out of 50 line mode is done with some
        different routines, hopefully these will stop the problems
        Steve Govenar was having with his monitor.

 v0.93ÄÄ[ Bugs Fixed ]Ä Not Released ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ[09-12-94]

    * Floppy Access Fixed
        Previously floppy drive access would cause OP to lock up on
        slow machines (or maybe all machines) with the music engine.

    * 2GDM Recognizes STMs with BMOD2STM Magic ID

    * Arpeggio Bug Fixed
        A small bug in the arpeggio command has been fixed. Sometimes
        caused the wrong arpeggio to be done.. COUNTER.MOD now plays
        right..

    * Pattern Break Finished
        The pattern break command can now break to a row other than
        row zero. Now BEYOND.ULT (from UT v1.4) will play the last
        couple orders correctly and 64MANIA.S3M (from ST3) will play
        the first couple orders correctly.

    * Note Delay Fixed
        For some reason note delay didn't work in the last version.

    * Sample/Note Events Fixed
        Previously a sample only event would still set the period
        value where it should have only set the sample number and
        offset. Now ODYSSEY3.MOD can porta up and down correctly.

    * Retrigger Fixed
        Retrig is now fully Protracker compatible. Previously we
        had some problems with timing and such.

    * S3M Retrigger+Vol Slide Completed
        The volume sliding with command Qxy was not implemented
        before. It has been finished and such 64MANIA plays
        correctly.

    * S3M Portas Fixed
        Porta speeds of 0 weren't recognized before.

    * S3M Volume Slides (D0x, Dx0, DFx, DxF) Compatible
        S3M volume slides should now be 100% compatible with OP and
        play perfectly.. Previously it was possible for a volume slide
        to get the wrong effect data, but it didn't seem appearent in
        all my S3Ms.

    * MOD Volume Slide Fixed
        Previously if a volume slide command was issued with a slide
        rate of zero (A00), it did a volume slide equal to a previous
        slide that had an effect parameter. A00 (volume slide of no
        speed) is now ignored. ODYSSEY3.MOD will now volume slide
        correctly.

    * 669 Effects Fixed
        Effects a, b, c, d, and e are now a little more compatible
        with Composer 669 in that they will continue until an effect
        data value of 0. Some porta speeds will still sound wrong
        however, there's not really anything to do about that.

    * ULT Porta to Note Fixed
        Porta note will now continue on until effect data 0 like
        UltraTracker does it.

    * Scope Speed Fixed
        A stupid little compiler switch was screwing up the scopes
        before. I've fixed it and now the scopes are much faster
        (about the speed we had in EGP, except faster).

 v0.92ÄÄ[ MOD/S3M RTL ]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ[09-05-94]

    + MOD Runtime Loading Support
        You can now load your MODs into OmniPlayer without using the
        2GDM utility. This routine is exactly like the one in 2GDM,
        so it does take a while to load when compared to a GDM that
        is already converted. Not too bad though, at least in this
        one we're only writing to memory instead disk again.

    + S3M Runtime Loading Support
        Same deal here.. No need to convert S3Ms to GDM now, just play
        'em as is..

        More module formats to come soon!

    + Module Offset Parameter (-Oxxxxx)
        You can now use the -Oxxx command to play modules within
        other files (such as music in demo EXEs). Just run MODSCAN
        on the file to find the module offsets then use OP with
        -Oxx with the offset you found with MODSCAN. Remember to
        include the EXE extension when loading modules from EXEs.

        See documents (OMNIPLAY.DOC) for better explaination.

    + Arpeggio Implemented
        The arpeggio (0xy) effect is now implemented.. Now all those
        old chip tunez'll sound good!

    + Set Pan Implemented
        Sixteen position panning is now implemented (E8x). 128
        position panning is converted to 16 with 2GDM. Set Surround
        is not implemented yet (it's not really a pan position
        anyway).

    + Vibrato Waveform Implemented
        Sine, Ramp Down, and Square Wave are now implemented with
        the Vibrato Waveform command (E4x). Random will be
        implemented as soon as Voltaire can get me PT 2.x source.

    * Vibrato DIV/0 Bug Fixed
        Vibrato under very rare circumstances caused a DIV/0 error.

        Found By: Alex Chalfin

    * Note Delay and Note Cut Bug Fixed
        Note delay and note cut had a slight timing problem (was off
        by one frame).

    * Porta to Note/Porta to Note+Vol Slide Fixed
        Porta to Note contained another small bug that caused it to
        do a pitch slide when it was not supposed to.

    * MOD Pattern Number Wrong
        In previous versions the number of patterns in a module was
        being calculated incorrectly which occasionly caused modules
        to have their samples unaligned.

    * S3M Volume Slides Fixed
        D0F and DF0 were treated as fine volume slides previously. I
        noticed that ST3 treats those as smooth slides, so I fixed
        it. Thanks to Tek for bringing it to my attention at the last
        OTM Get Together.

    * Stereo Mixing is Faster!
        Stereo mixing has been sped up a bit so now it's just a tad
        slower than mono mixing rather than being light years behind
        the mono mixer like before. *Finally* I can play 16 channel
        S3Ms in stereo at the full 22KHz <g>!

    * Minor Internal Changes
        Structure of the internals and some others things have
        changed that are of no particular concern of yours..

 v0.91ÄÄ[ Bugs, Reorganizing ]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ[08-28-94]

    + First (official) Public Release

    * MOD/MTM Spasmic Effects
        There was a bug in the MOD/MTM conversion routines that
        caused them to occasionally add in an effect or two without
        it actually appearing in the MOD. This would cause problems
        with divisions by zero and such.

    * Porta to Note/Porta to Note+Vol Slide Fixed
        Porta to Note contained a very small bug which caused it to
        slide the pitch up towards Period 0 (which would cause
        division by zero) when it shouldn't do a porta at all. This
        did not occur in many modules, but in those that it did, it
        reaped major havoc..

        Found By: Clint Holeman

    * Note Delay Fixed
        Note Delay no longer cuts off the previous note at the
        beginning of the row.

    * Sample Name Scroll Nonexistant
        Previously, if you had more than about 37 samples, you could
        "scroll" beyond the 37th sample in the sample screen where
        you were not supposed to. This caused screen messes and
        sometimes bombed the program. Presently this has been
        restricted, there is still no scroll feature.

    * Clicks Removed
        OP v0.90 had some problems with loud modules clicking. The
        volume tables have been adjusted and this should now be
        completely gone.

    + Internal Reorganizations
        I've just about finalized the MSE and GDM v1.00 formats.
        As such, previous MSEs are incompatible and previous GDMs
        (from EGP) are also incompatible. GDMs from OP v0.90 are
        still playable, however, it is advisable to reconvert any
        modules that cause division by zero errors.

    + Stereo Panning
        Stereo panning is slowly being implemented. Currently only
        left and right positions are done, but this will be
        completed soon.

    + Amplification
        You can now amplify quiet modules with the -Axx parameter.
        Values below 10 decrease the volume and above 10 increases
        the volume. If you increase the volume too much, you may get
        clicks in the output. If so, just use a lower amplification
        value.

    + EMS Memory Indicator
        You can now see how much EMS memory a module is using by
        looking up where the former "Mode:" display was. As you'll
        notice, this baby really wastes EMS memory on smaller modules.
        This is due to the fact that EMS memory is allocated in 16K
        chunks rather than 16 byte pages like in base memory.

 v0.90ÄÄ[ Restart ]ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ[08-10-94]

    + Name Change [Experimental Gentilezza Player to OmniPlayer]
        This module player was previously known as the Experimental
        Gentilezza Player. I went on a 3 week vacation and while I
        was gone, the others members of Gentilezza changed the group
        name to OverThrowMachine (OTM) without my knowledge or
        consent (thanks a lot guys :-( ). Therefore, EGP no longer
        seemed a sensible name. So EGP has now become OmniPlayer, and
        has started back at version 0.90 Beta.

    + Multitasking Support
        OmniPlayer now works correctly under Windows 3.1 in Enhanced mode.
        DesqView has not been tested, but it should work as well. OS/2
        isn't supported.

