ST.svobject © 1994 by Andreas R. Kleinert. FREEWARE. All rights reserved. Version : 2.1 Release Date : 11.12.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+ 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 ~~~~~~~ V2.2 (11.12.1994) : - extraction of samples only worked with modules, which had been XPK-packed. Now also PP20 or unpacked modules can be handled. V2.1 (18.07.1994) : - fixed BAD BUG in file-recognition routine, which may have caused this SPObject crashing very often, if a) this SPObject was not very late in the list of SPObjects b) this SPObject was late in the list, but an unknown FileType was selected e.g. in "SuperPlay" - integrated new "SampleList"-Functions for exporting more than one sample - so extraction of samples from modules now is possible (see Example-Programs "SampleListDemo" and "SampleListPlay" for detailed information on how to use this functions) V1.6 (19.06.1994) : - added check for Module type "M!K!", which is Noise/ProTracker with 100 patterns (thanks to Gerd Frank for reporting this) 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.