___ ___ _____ ____  |\ /| / \ | \ | | | | | (  | \/ |( )| ) | | | | | ¯-_  | | \___/ |___/ \___/ | | |___ ____) The ModUtils package consists of ModPlay, ModRip, ModAlloc and ModWipe which were written by Ben Hutchings and released in September 1994 LEGAL The contents of this package are the files: InstallBB, InstallBBWB, InstallBBWB.info, ModAlloc, ModAlloc.BB, ModAlloc.info, ModPlay, ModPlay.info, ModRip, ModRip.info, ModUtils.doc, ModUtils.doc.info, ModWipe, ModWipe.info. These files are all copyright (c) Ben Hutchings 1994, but they may be freely distributed provided (i) no charge is made for them above the costs of duplication, distribution and the media used, (ii) all the listed files are kept together, and (iii) the files are unaltered. The exception to (iii) is that the files may be distributed in a compressed form as long as the original files can be retrieved from this form unchanged. Software released under these conditions is often known as Freeware. The included file reqtools.library was written by Nico François, who owns the copyrights to it. Although it is part of the package it may be copied separately. I reject any responsibility for any undesirable consequences whatever of the use of this software. This includes, but is not limited to, secondary consequences, personal injuries or other kinds of side effects. INTRODUCTION I wrote these programs after finding my existing module software inadequate and out-dated. I hope you find them as useful as I have. If you are familiar with music modules, skip to the documentation for the individual programs. If not, read on. Music modules are files containing descriptions of one or more sounds and a list of notes and effects to play with them. One of the earliest programs to produce music modules was Soundtracker, which produced simple files containing sampled waveforms (that is, digital records of real instru- ments and noises) plus a number of blocks of note codes, and a list defining the order they should be played in (so that blocks could be repeated). Then a program called Noisetracker was released which had added features and used roughly the same file format, so that it could read in modules produced by Soundtracker. Since then numerous improved versions have been produced and Soundtracker has been replaced by Protracker. Despite all these changes the file format has remained the same except that extra codes for the new musical effects have been added. So there are huge numbers of modules out there which can all be handled by the same player program. Not only this, but the same file format is also supported by PC and Archimedes programs among others. A friend of mine has about 100 modules of this type on a PC CD-ROM. If you have DOS2DOS, MessyDOS, or CrossDOS (supplied with all Amigas since late '92) then you will be able to use these modules as well as those on normal Amiga disks! Many demos and games use Soundtracker or compatible modules because it is much easier to use a standard program to make music than to write a special routine for each tune. So if you can get the module out of the game (a process known as 'ripping') then you can listen to your favourite game tunes while doing something else like word-processing or writing a program (the player will continue to work even if you're running AMOS). I should add at this point that ripping is sometimes illegal and that copying a ripped module will almost always break the license agreement for the software you got it from. Check the appropriate license if you are in doubt. The limitation of ripping is this: unless you have an Action Replay cartridge, you can't actually stop the game while its running and rip out data without disturbing anything. Nevertheless, I have found this ripper software to be very effective. So there's your quick guide to modules. Read on to find out how to use the programs in this package. INSTALLATION I do not recommend installing any of these programs onto another floppy disk (with the exception of a method explained later on for temporary use only). To install the programs ModAlloc, ModRip, or ModWipe to another disk, you must simply drag their Workbench icon to the other disk. ModPlay and ModPlay13, however, need a library file to accompany them. To install this: · Boot from your hard disk. · Open a Shell/CLI. · Enter 'List LIBS:'. A list of libraries already installed will appear. If the name 'reqtools.library' appears then you do not need to proceed, and you should enter 'EndCLI' to close the Shell/CLI. Otherwise, continue... · Insert the disk this text is on. · Change the current directory to the directory this text is in - you will have to type something like 'CD DF0:ModUtils'. · Enter 'Copy reqtools.library LIBS:'. · Enter 'EndCLI' to close the Shell/CLI. You can then drag the ModPlay or ModPlay13 icon to wherever you want it on your hard disk, and it should run from there. MODPLAY ModPlay is a simple module player based on the Protracker playroutine. The advantages it has over other module players are these: · It's very small. · It can be made resident in memory for Shell use. · It can stop music automatically instead of looping. · It uses ReqTools (thanks to Nico François). · It uses reliable CIA timing so the speed is correct whatever screenmode you are using. · You can stop or change the music being played simply by running ModPlay again. There are two versions of ModPlay supplied: the one called simply ModPlay is for machines with OS 2.0 or above; the one called ModPlay13 is for those with OS 1.3 (or lower). Except where noted, the following information applies to both versions. One of the reasons I had for writing this was for use in disk magazines (I was hoping to produce one myself but that will have to wait). Although it can be run from Workbench, ModPlay is designed for control by Shell commands and especially by scripts. Note that you MUST have reqtools.library version 38 or better in your LIBS: directory to run it. Version 38 is on Fred Fish disk 794; I have a more recent revision than the one on that disk but I don't what disk it came from. Before I go on to explain usage, I should mention that ModPlay is very picky about the size of the modules it will read. For the technical bods: When it loads a module it will first read the header to check for the Soundtracker ID ('M.K.'). Then it will add up the sample sizes and compare them with the size of the rest of the module. If the length of the song data isn't a multiple of 1024 (the size of one block) it will complain. Now by my calculations the size of a module should be 1084 + blocks*1024 + sample_size, and so anything which fits this pattern will load in OK. However I have come across a few modules which don't fit this formula and which consequently are rejected by ModPlay as a safety measure. Please tell me if one program consistently saves modules which won't load in because I could well have my facts wrong - my address is at the end of this document. I have got all my specifications simply by using hex editors on modules and by reading the Protracker playroutine source code (which I spent hours updating and turning into a readable piece of code which will link properly!). Shell usage: To start playing a module, or to change the music already playing, type ModPlay or ModPlay LOOP where represents the name of the module, and LOOP is an optional switch which disables the anti-looping feature of ModPlay. To stop the music prematurely, or to stop a looping piece of music, type ModPlay STOP To use a file requester to start/stop music, just type ModPlay then pick a module or click Cancel to stop. The requester will keep coming back when each piece of music finishes, until you click Cancel. If you are using the 2.0 version of ModPlay you can specify multiple modules on the command line or in the file request- er (using Shift-select). In the 2.0 version you can also stop a single module by pressing Ctrl-C, or you can completely exit the program by pressing Ctrl-D. If ModPlay is running in the background you can use the Break command to do this (see your Commodore manual for information about this). NOTE: If you use ModPlay in a script for a disk magazine or similar, you will need to run ModPlay in 'background' with the Run command. If you want to put something like ModPlay intro.mod in a startup-sequence, e.g. Echo "Welcome to XYZ disk magazine issue #5!" ModPlay intro.mod LoadWB EndCLI >NIL: you will actually need to use the command Run >NIL: NIL: