home *** CD-ROM | disk | FTP | other *** search
- ModuleOptimizer V1.91
-
- The ProTracker or NoiseTracker module optimizer
-
-
- REQUIREMENTS
- Any Amiga with at least dos.library V36.
- Xfdmaster.library V36+ - optionable.
- ReqTools.library - optionable.
-
- DESCRIPTION
- ModuleOptimizer is small CLI utility written in assembler for deleting
- of unused data in ProTracker's 4 channels song or module to reduce its
- length. It can be called from icon too and installing to DOpus is very
- easy. For more comfortable use, Xfdmaster.library and ReqTools.library
- are recomended. Without Xfdmaster.library ModuleOptimizer can not unpack
- any file and without ReqTools.library you can not select a module to
- optimize by nice filerequester but basic function of ModuleOptimizer
- is not reduced.
- It is not easy to test if some data are really ProTracker's module or song.
- There are many module identifiers (M.K., M!K!, FLT4, FLT8,...) and I don't
- know all so I decided to test module not only by this way. ModuleOptimize
- prints only warning, when finds non standard module identifier and
- continues on testing. It tests all samples parameters (volume, length,
- repeat, replen, finetune) not to be out of range. It also tests if
- filelength is not shorter than 2108 bytes - this is length of module with
- 1 pattern and no samples. But after program testing (thanks to SLAM)
- I have to add a TakeTracker (FastTracker) module recognizing because of
- ModuleOptimizer does optimize even these TakeTracker modules and it was
- bad! So if you try to optimize TakeTracker module ModuleOptimizer aborts
- work with message.
-
- INSTALLATION AND START
- To install it, simply copy ModuleOptimizer to your C: directory or where
- do you want. If you start it from icon, ModuleOptimizer try to open its own
- window for standard text output. To close window press return when you have
- read all messages. The following arguments and options are provided:
-
- FROM=MODULE/A,TO=OPTMODULE/K,QUIET/S,ABOUT/S,CLR=CLEARSAMPLENAMES/S
-
- FROM
- Complete path and name of module (song) to optimize. If only filename is
- specified, current directory is used as path to file. If you specify only
- FROM argument (without TO), only optimize report will be printed (without
- any saving).
-
- TO
- Complete path and name of module (song) to save to. If only filename is
- specified, current directory is used as path to file. If this argument is
- NOT specified, see above.
-
- QUIET - option
- Disable printing of messages. Only error messages or ABOUT are always
- printed.
-
- ABOUT - option
- Prints small usage list.
-
- CLR - option
- Enable to clear all samplenames in module (song). It can be used for better
- crunching.
-
- Examples:
-
- optim19 ram:harleymusic
- Only prints an optimize report.
-
- optim19 "ram:knulla kuk !!!" TO "ram:knulla kuk !!!.opt"
- Prints an optimize report and saves an optimized module.
-
- optim19 dragonsfunk TO dragonsfunk CLR QUIET
- Save optimized module to same name. Clears samplenames in module. Doesn't
- print anything, if all OK.
-
- optim19 ABOUT
- Prints small usage list.
-
- optim19
- If you start it without any arguments you can select module to optimize by
- nice filerequester. After selecting it you can select optimized
- (destination) module by the same nice filerequester. If you cancel this
- second filerequester, only optimized report will be printed.
-
- DOpus install:
- You can install ModuleOptimizer into DOpus. It is very easy. Just enter
- to button edit screen in ConfigOpus. Click to button where you want to have
- ModuleOptimizer. In Name entry type "OptimMod". In New entry select
- AmigaDOS and select a path and name of ModuleOptimizer. Than select
- function {f}. Set these flags: CD source, Do all files and Output window.
- Set value of Close delay to -1. It is all. Now you have a button which
- tests selected modules (songs) in DOpus output window.
-
- If something goes wrong an error message with description is printed. So I
- hope you understand every problem which can occur.
-
-
- HOW IT WORKS
- ModuleOptimizer does several tests for better gain of bytes:
-
- Unused patterns: Often there are some unused patterns in module (song)
- left by composer. These patterns are not used in pattermap.
- Gain from each unused pattern is 1024 bytes.
-
- Same patterns: Sometimes (but a little) there are some same patterns in
- module (song). Gain from each same pattern is 1024 bytes.
-
- Unused samples: Very often there are some unused samples in module (song)
- left by composer. Gain from unused samples depends on its length, but often
- there are large unused samples, so gain could be very good.
-
- Samples lengths: Sometimes the samples length is greater than used length.
- Used length of sample data is from start of sample to end of its loop (if
- any). Data after loop end are unused and could be deleted.
-
- Superfluous data: Length of module equals to: header data+patterns
- data+samples data. In some modules I have tested, there was data after end
- of smaples data. This bytes are unused and could be deleted.
-
- BUGS
- Through first version to V1.9 there were many bugs. I tried to catch all of
- them, but who knows... If you find out some bugs, please send me e-mail
- with bug description, your system configuration and module (song) with
- which ModuleOptimizer was buggy. Thanks.
-
- COPYRIGHT AND DISCLAIMER
- This program is freeware, so no financial donations required.
- Redistribution allowed if the package is left unchanged. The author is
- not responsible for any damage caused by the use or misuse of this
- documentation and/or the program(s) it describes.
-
- AUTHOR
- Please send bug reports and ideas to e-mail:
-
- galaxie1@mbox.vol.cz
-
- Jan Poruba
-