
  ST.svobject

  © 1994 by Andreas R. Kleinert.

  FREEWARE. All rights reserved.

  Version      : 1.5
  Release Date : 17.05.1994


  Description
  ~~~~~~~~~~~
  ST.svobject is an external Library-Module for the superplay.library V1+.

  It supports reading of ST Modules (SoundTracker V2.4+, ProTracker V2.2a,
  NoiseTracker and compatible Modules).


  Requirements
  ~~~~~~~~~~~~
  - OS V2.04+ (V37)+ and its libraries
  - for reading of packed modules, either xpkmaster.library or
    powerpacker.library is needed :

    Packer	needed Libraries
    XPK 	   xpkmaster.library V2+, speficic xpk-compressor libraries
    PP20	a) xpkmaster.library V2+, powerpacker.library V33+
		b) _only_ powerpacker.library V33+
    <None>	<no special libraries are needed, but they will simply pass
		 through unpacked data modules>


  Remarks
  ~~~~~~~
   - As with other Players, the filename of the Module has to begin
     or end with the prefix/entension "MOD" ("MOD.module" or "module.MOD")
   - ST.spobject at first tries to use xpkmaster.library.
     If this one is not available, it tries powerpacker.library.
     If none of them is available, it simply uses dos.library :
     So, if you read a packed module, although you did not install any
     decompression libraries, please note the following :
     After loading the data is checked, so that modules which could
     not be decompressed are rejected without any further notice.


  Author
  ~~~~~~
  Andreas R. Kleinert
  Grube Hohe Grethe 23
  D-57074 Siegen
  Germany


  Credits
  ~~~~~~~
  The "powerpacker.library" V33+ is (C)opyright by Nico François.
  The Library is FREEWARE and is needed by ST.spobject, to be able
  to read and play also PP20-packed Modules.

  The "xpkmaster.library" V2+ is (C)opyright by its authors
  (c/o Urban Dominik Müller).
  The Library is freely distributable and is needed by ST.spobject,
  to be able to read and play XPK-packed Modules.

  Upto V1.2 the main Player Source-Code in Assembler was taken from
  the Public Domain Library "STReplay" by Oliver Wagner, which can be
  found on AmigaLib-Disk #258.
  Oliver said in the Docs to STReplay, that he did not obtain any rights
  to the Source, so I used it for my own purposes.
  Nevertheless I did not just "include" the Source, but made many - more
  or less useful and important - changes to it.

  Since V1.3 the new ProTracker V2.2a Player Routine is used.
  I got it from Gerd Frank (thanks Gerd !) and modified it for my own
  purposes : Some changes had to be made to assemble it with the SAS/C
  ASM V6.5 and to make it living in the multitasking better than before.
  Finally, I had to change and add some more code to create an interface
  to the C-SourceCode of the SPObject's main routines.

  Here's an excerpt from the SourceCode as far as concerning the original
  authors (no special copyright notice was found, so it is perhaps
  Public Domain) :

  * ProTracker2.2a replay routine by Crayon/Noxious. Improved and modified
  * by Teeme of Fist! Unlimited in 1992. Share and enjoy! :)
  * Rewritten for Devpac (slightly..) by CJ.


  History
  ~~~~~~~
  V1.5 (17.05.1994) :

   - use of SAS/C V6.51
   - version still reflected 1.3 instead 1.4. Now we're at 1.5 :-)
   - now "MOD" is either accepted to be the filename's prefix
     ("MOD.ModuleName") or suffix ("ModuleName.MOD").
     This is done, because many modules - e.g. those ported from MS-DOS -
     are named so and we have no other method of identifying them.
   - ST.spobject is no longer dependent on xpkmaster.library :
     now we also use powerpacker.library, if available.
     If no decompression library is installed, we simply try dos.library.
     After loading the data is checked, so that modules which could
     not be decompressed are rejected without any further notice.
   - now checks Module-Type of Files and rejects files, which contain
     IDs other than "M.K." or "FLT4" at the specific offset


  V1.4 (30.04.1994) :

   - version still was V1.2 in V1.3, now we reflect V1.4
   - fixed (hopefully) "header not located" problems within memory
     delocation


  V1.3 (30.03.1994) :

   - replaced old ST Player Routine with new ProTracker V2.2a Player Routine
   - added ST-Module structure definition to Headerfile :
     now it is possible to read the file information without
     playing around with Hex-Offsets.
   - used new STHeader-Definition to print out more information
     about the Module, when calling SPL_FileInfoRequest() :

      - SongName
      - Module-Type : "M.K.", "FLT4", ...
      - Number of Instruments (determined by checking InstrLength)
      - Names of Instruments and hidden strings (even if more than
	the nominal number)
	This was a little bit tricky sometimes, but now it works with
	all modules without crashing the Amiga !
	Enjoy reading the "hidden messages" of ST-Files and find out
	the authors of previous "no name"-modules.
   - replaced SAS/C's sprintf()-routine with own, RawDoFmt()-based one.
     This saves about 1800 Bytes.
   - now using Utility-Library for integer operations (activated
     SAS/C's UTILLIB option) : this increases 68000-codesize a little
     bit, but increases speed on 68020+ systems
     (should also decrease codesize, but does not ...)


  V1.2 (25.02.1994) :

   - fixed small bug in memory management routines


  V1.1 (16.01.1994) :

   - first version


  Copyrights
  ~~~~~~~~~~
  Some of the mentioned names or products above may be copyrighted by
  companies or trademarks of companies.


