By Ian Schmidt. Copyright (c) 1992-93 Two Meg Software.
(This document is in standard IIgs Teach¬ format and needs Shaston 8 (built into your ROMs), Shaston 16, and Venice 14 (which are on :SystemTools1:System:Fonts:).)
MODZap¬ is an Amiga¬ music module player for the Apple IIgs personal computer. It combines high playback quality with speed and a range of features to insure that MODs sound good. MODZap¬'s primary mission is to reproduce modules conforming to
the standard set by the ProTracker¬ program on the Amiga¬. Support is also provided in a lesser form for StarTrekker¬ and NoiseTracker¬ modules.
Important note: ╥NoiseTracker╙ in this document usually refers to the Amiga¬ versions of the program. NoiseTracker IIgs modules are not Amiga¬-compatible and
you should not attempt to load or play them with MODZap¬.
Prolog
This version of the program was almost not made avalible due to vocal insulting of myself by several people who apparently felt that free software was a bad thing. After a lot of rethinking, and general insufferable begging from the likes of Scott Anderson and a bit of moral support from Michael Frankowski, I've decided to go ahead and release this advanced version, almost a year in the making.
As always, I'd like to hear productive comments. If you don╒t have something nice to say, say it to someone other than me, because I don╒t give a fuck anymore. It╒s pathetic that many software developers are being driven away from the IIgs due to abuse from users at this time when new software is needed more than ever before.
System Requirements
An Apple IIgs¬ personal computer with at least 1.125 megs of memory. GS/OS System Software version 6.0 or later is required. MODZap¬╩automatically supports all stereo cards and ROM revisions.
Caveat Emptor
This version of MODZap¬ has several known bugs, and tends to crash in QuadraScope¬ mode. Use another play mode until things are solidified.
New stuff since v00.81a
(MODs which certain things fix are in brackets, with the actual titles in parens since people translate Amiga¬ filenames differently)
Ñ MODZap now supports a full 5 octave range, which is important when playing
MODs composed on IBM PCs and Atari STs.
Ñ Unlike ╘that other player╒, you can now access your Classic Desk Accessories
from inside MODZap.
Ñ Finally wrote a custom list drawProc so now the instrument list is more
informative. The instrument number as seen in the scrolly player, the
instrument type (looping, cached looping, or one-shot), and it╒s residency
(a ram card for swapped, a chip for cached, and a blue X for non-existant insts).
Ñ Wrote and tested brand-new swapper using loop-mode operation just like the
popular ShellPlay¬. As a result, stereo mixing now works great. Also, the
╥phasing╙ effect heard in soniqTracker and NTGS where the same sample played
twice in a row sounds slightly different is not in evidence here!
Ñ Notice: MODZap's prefs file is supposed to be sparse, so launching MZ from
a non-ProDOS disk will cause about 4k of disk space to be wasted. There are
no other problems associated with this (everything will work normally).
Ñ There are tons of new Options, including a 'startup path' so you can
select a path for MODZap to automagically go to on startup (much like
Kangaroo¬ or SuperDataPath¬, only free =)
Ñ A fun memory-trashing bug which has been around a while got squished; this
means the end of random wackiness/hangs/crashes.
ʥ There are lotsa new player modes: Oscilloscope, a 160x128 scope display of
MZ's current output, Oscilloscope (ZipGS) which is a 320x128 scope display for
people with ZipGS¬ accelerators (in beta testing, TWGS machines fared no
better than unaccelerated ones), and QuadraScope¬, which individually shows
the output of each track like ProTracker¬ on the Amiga¬.
Ñ Instruments may now be cached in DOCRAM for faster performance and cleaner
sound. Since the cache manager is new, there is an option to disable it in
preferences. There also is a new cache indicater light in the Pumpy Player¬
which glows brighter the more tracks are playing from cache. This is actually
the opposite behavior from the cache LED on the ZipGS¬ accelerator card.
Ñ The FXLasers¬ have been rescaled so they come up to full brightness quickly
and fade away more slowly. This allows you to better see what's going on;
formerly the lasers would take so long to trip that if there was a fast series
of effects, you'd just barely see the laser start to appear before it was reset
by the next effect. Additionally, there is a new Aqua laser for the position
jump F/X.
Ñ There are several new key-equivalents: OA-J for Jukebox, OA-I to save an
instrument, and OA-S for the new Save Module item.
Ñ When saving instruments, the instrument's name as shown in the list is now the
default filename, instead of the MOD's filename.
Ñ Fixed looping so it doesn't loop 65535 times (MOD.TechMaru [TechMaru])
Ñ Fixed tone portamentos so they stop correctly at the target. (MOD.Nebulos [Nebulos])
Ñ Fixed arpeggios so they work without an accompanying note (MOD.Taking [taking on the world])
Ñ Added Ultra-Turbo mode for GNO users. This mode runs with no animations at all, which dramatically increases avalible processor time.
Ñ Prefs can now be saved...once you set things up how you like, click the Save Prefs button in the Options dialog and they'll be saved to disk, in your user folder for AppleShare users.
Ñ You now may optionally turn off the safety net of filename prefix/suffix checking and select filenames yourself.
Previously implemented MODZap¬ Features:
Ñ Plays modules directly from the disk image. This means much shorter loading
time, with only a brief pause after loading to build some tables for speedy
playing. Other IIgs players convert the MODule to bizzare internal formats,
losing the ability to support all of the MOD format's subtle features. And,
since this conversion is done as the file is loaded, this slows down loading
time dramatically, as GS/OS is optimized for large transfers.
Ñ Frequency meters in the Pumpy Player¬. Tracks 1 and 2 are on the left
side of the screen; tracks 3 and 4 are on the right. Frequency is as you may
already expect; higher on the screen is higher frequency. All pitch-based
effects like Portamento, Vibrato, and Arpeggio show up on the meters and
are fun to watch; DragonsFunk puts on the best show of any MOD I currently
have.
Ñ Fun keyboard provided so that you can play with instruments. The keyboard
has a 3-octave range. MODZap¬ supports the full 5 octave range possible with
certain IBM-based MOD trackers.
Ñ Includes resources and auxtype needed for perfect harmony with Finder¬ 6.0.
Ñ Smart volume conversion, so MODZap¬ is out-of-the-box compatible with all
IIgs stereo cards, with no special setup needed.
Ñ Supports more special effects than any other module player on IIgs.
Ñ Highly accurate mathematical modeling of the Amiga¬ sound hardware, so pitch
effects and tuning are guaranteed correct, as are little things like stereo
output positions.
Ñ Takes full advantage of new System 6 features.
Ñ Uses GS/OS in the most efficient way possible, resulting in substantially
shorter load time for modules.
Ñ Runs correctly on a standard 2.8 Mhz IIgs, even under the GNO¬╩Multitasking
System.
==============
Using MODZap¬
==============
When you run the program, the splash screen will appear and a short digitized sound
clip will play. Click the mouse button to continue the program. To skip this intro,
simply hold down the Open Apple key once the program begins running.
There are lots of ways to open modules with MODZap¬....
1) Use Open MODule... and select one.
2) Use Force 31 Instrument or Force 15 Instrument if you have one that the
auto type checker botches for some reason.
3) Use Jukebox... to grab a whole bunch to hear in a row.
4) Install the MODZap.Icons file and double click a module from the Finder¬.
Once you have one open by whatever means, the Module Control Panel will appear. It will show you the title, type, and creator program (if possible...only StarTrekker¬ has a distinctive signature of all the popular Amiga¬ Trackers).
The control panel includes a list of instruments containing information as follows:
Instrument number
|
| Instrument residency: a ramcard for swapped, a chip for cached, and an X for N/A.
| |
3 > O BigTubeGuitar
|
Instrument type: an arrow for one-shot, a loop for looping, and a loop with a ramcard for cached looping.
Additionally there is a keyboard you can click on to play whatever instrument╒s
name is highlighted in the list.
Playing the module once it is loaded is very simple. Just select Play MOD from the
Sound menu. The Graphic Player will pop up and the module will begin. (this happens automatically in Jukebox mode). To stop playback for any reason, press
the Option key on your keyboard or click the mouse button. Otherwise playback will end when the module is done. Note that some modules have a Position Jump command so that they loop forever; this is especially true of modules from games or demos. If that is the case the module will loop forever and the only way to stop it is using the Option key or mouse button. There is a scrolly subdisplay at the bottom of the
screen arranged as follows:
The leftmost column of the display shows 4 information items relating to the
current song. The topmost one is the number of positions in the song, the next
one down is the current position number, the third one is the current block
number, and the bottommost one is the number of the bottommost position in
the block shown on the scrolling part of the subdisplay.
Several keys can be used while a module is playing. 1-4 toggle the disable/enabled
status of tracks 1-4. The spacebar pauses and unpauses playback. The Esc key exits the player if you are in single mode, and aborts the jukebox if you are in jukebox mode.
More About the Jukebox:
There are some standard behaviors supported by the Jukebox; here goes.
Open Apple-clicking adds files to a selection. Shift-clicking selects everything between the current selection and the nearest other selection. Open Apple-clicking an already selected file deselects that file. MODZap imposes no limit on the number of MODs selectable in Jukebox mode other than that the filenames must all fit in avalible free memory (this is very hard to do even with the largest MOD collections!).
=============
Menu Options
=============
There are several options avalible in the Options item of the Options menu. They are as follows:
Ñ PAL/NTSC (soniqTRACKER¬ calls these 50 and 60 Hz respectively). 99% of
MODules are PAL (50 Hz) but due to the way early Amiga¬ trackers worked
some older modules created on United States Amigas¬ may be NTSC. If
a song sounds too slow, try NTSC. There is no other way to distinguish,
although some modules may come with documentation which tells you what
setting to use (eg MOD.Sandman.PAL or MOD.Everybody.NTSC).
Ñ╩Ignore Tuning allows you to ignore the fine-tune bytes in MODules in case
a module sounds weird with them.
Ñ Ignore Arpeggios allows you to ignore arpeggios in case you get a MODule
which sounds weird with them. v00.75 added rangechecking so that some
modules which formerly needed this option shouldn't now.
There are key equivalents for some of the items in the dialog box: A toggles the Ignore Arpeggios check box, T toggles the Ignore Tuning check box, Return is the same as the Okay button, and Open Apple-period (.) is the same as the Cancel button.
Additionally, one item is in the Options menu so that you may conviently access it without disk swapping:
Ñ╩Loop Music allows you to determine if MODules play once or repeat until
you press the Option key or click. Note that this has effect in Jukebox mode
also so you must press Option or click to allow the Jukebox to switch to the
next one in the series.
=================
Selectable MODs
=================
MODs must meet certain criteria to appear in the Open and Jukebox dialogs.
o Their type must be TXT or BIN, or $F4 with an aux $6900.
o Their name must start with MOD. or end with .MOD (case is now insensitive) unless
Ignore MOD./.MOD is checked in the Options dialog.
*NOTE: the ProTracker definitions are used by MODZap. E-effects will still show up on the lasers for StarTrekker modules, but will have no effect on playback*
*NOTE2: If no color is stated, that effect doesn't trip the lasers*
0 - Arpeggio if nonzero effect data, no effect otherwise (Purple if Arp.)
1 - Pitchslide up (Red)
2 - Pitchslide down (Blue)
3 - Tone Portamento (Green)
4 - Vibrato (Purple)
5 - Tone Portamento with Volume Slide (Yellow)
6 - Vibrato with Volume Slide (Yellow)
9 - Sample position jump (Green)
A - Volume slide (Red)
B - Song position jump (Aqua)
C - Set volume (Blue)
D - Break to next position (Aqua)
E - Multiple effects (all of these are White)
E1 - Fine pitchslide up
E2 - Fine pitchslide down
E6 - Set Loop/Jump to Loop (includes undocumented mode used by MOD.BassBins)
E9 - Retrigger note
EA - Fine Volume Slide Up
EB - Fine Volume Slide Down
EC - Note Cut
F - Set tempo (Red)
Note that some effects are ignored deliberately; this includes the following:
8 and E8 are not defined on any Amiga¬ tracker.
E0 controls the Amiga¬ hardware filter; the IIgs has no such beast.
EF is a 'useless' effect which was removed as of ProTracker¬ 1.3 on the Amiga; Lars Hamre told me that since its not supported on the Amiga any more I shouldn't support it on the IIgs. (heh)
=================
Comparison Chart
===============
Note: This is mainly on stuff that's important to me. Your wish list probably is (heck, should be) different...
Typographer╒s note: the following table is set in TrueType¬ Monaco 12; Monaco is included when you purchase Alan Bird╒s excellent Pointless¬.
Sound quality: Excellent Very Good Very Good Excellent
DOCRAM Caching Yes Yes Yes No
Smart volume Yes Yes No Yes
Smart looping Yes No Yes Yes
Editor No Yes* No No
OS GS/OS 6.0 ProDOS 8 GS/OS 5.0.2 GS/OS 6.0
Keyboard Yes Yes No No
Graphicless Player Yes Yes No Yes
Jukebox Yes No Yes No
Tuning Yes No Yes Yes
╥Scrolly╙ Player Yes Yes No No
Bouncing Notes No Yes No No
Freq. meters Yes No Yes No
Lasers Yes No No No
Loading speed Excellent Poor Good Good
State** Excellent Good Excellent Excellent
* NoiseTracker GS has 2 save formats, neither of which are Amiga MODules.
** I.E., number and severity of known bugs. There has been at least one documented case of NoiseTracker destroying a hard disk partition. NoiseTracker also crashes frequently during song entry and editing. (even the 1.1 version which I programmed).
*** The AE Sonic Blaster card has problems with very high output levels. MODZap¬, SoundSmith¬, NoiseTracker GS¬, and many others lower the levels slightly to compensate; soniqTRACKER and ShellPlay allow you to manually compensate for this.
===========
Other Stuff
==========
MODZap¬ is Freeware. This means that it may be distributed freely anywhere and
you are under no obligation whatsoever. GEnie, America Online, CompuServe, and
the Internet are all allowed to distribute MODZap¬, as is Big Red Computer Club.
Other shareware/PD publishing companies may distribute MODZap¬ provided no more than $5.00 US is charged for the diskette. I don't believe in ripping people off just
because they don't have a modem.
MODZap is copyright (c) 1992-93 Ian Schmidt and Two Meg Software. All Rights Reserved under applicable laws. Please respect copyrights and do not use any code from MODZap¬ without permission. If you would be interested in a tool or link
module to play MODules, let me know.
Excerpt from ╥Mission╙ copyright (c) 1987 Anthem Records and CORE Music Publishing.
Two Meg Software is a trademark of Ian Schmidt.
Amiga is a trademark of Commodore Business Machines, Inc.
GEnie is a service mark of General Electric Information Services Company.
America Online is a service mark of AOL, Inc.
Sonic Blaster is a trademark of Applied Engineering, a division of AE Research.
CompuServe is a service mark of CompuServe, Inc, a division of H&R Block.
SoundSmith is a trademark of Huibert Aalbers.
Finder and Apple IIgs are trademarks of Apple Computer, Inc.
Known modules with problems:
None at this time!
Known modules with what sound like problems but aren't:
MOD.XMASPudding [xmas pudding mix] - the beginning of block 17 stutters, rap-style.
This is caused by a Jump Loop command NOT a program bug.
Author's picks: (new and improved!)
These modules are ones which work with MODZap¬ and are worth finding in my opinion...
MOD.Cortouchka [cortouchka!] (Cool generic hard rock MOD with nice guitars).
MOD.ProgFunk [Progressive Funk] (Neither progressive nor funky, cool anyhow)
MOD.RIAD [Rhythm_Is_A_Dancer] (At ~915k, the biggest MOD I know of; nice clean samples; brag at 640k-barrier IBMmers heh heh)
MOD.Lotus3 [L3-CD3-Lotus3] (Amazing tour de force of what MODs could be if authors did a better job)
Hunter.MOD [SOFTHUNTER.MOD] (Bach's Toccata and Fugue in Gmin; no pipe organ in sight though *sigh*)
MOD.AbFucker [AbFucker] (fun for fans of hardcore house; very short tho)
HouseOut.MOD [Get your house out] (U4ia does house; obnoxious yet fun)
HouseNoLiving [House of no living 3] (Way cool classical choir intro and ending; way generic house middle)
XMASMix [xmas mix] (Not to be confused with xmas pudding mix, this MOD does XMAS tunes in a jazz style instead of techno)
MODZap¬ was made possible by the following:
╥DYA╙ Matt Keller for the most excellent Pumpy Player¬.
James Brookes for the cool ╥WoodTracker╙ QuadraScope design and artwork.
Lars ╥Zap╙ Hamre, author and inventor of ProTracker for the Amiga, for his valuable hints and information on PTrkr ╘undocumented features╒.
Tim ╥Forget GNO, I╒ve got the Side Project from Hell╙ Meekins for not making it abundantly clear to asshole extrordinaire Chuckie T. that he isn't with the Dysfunctional Brady Bun....err, One World Software ╥Wizards╙.
My greatest sympathies to anyone too stupid to realize that VAMPS is a joke of the worst kind, especially if you've paid money to download one or more of the disks.
Jawaid ╥No, really, its your bug╙ Bazyar for forgetting who the actual GNO beta testers are.
Brian ╥RedWine╙ Cervany for letting me play with and tape record his Amiga.
Steve ╥I don't have any╙ Bilgrien for support beyond the call of duty.
Everyone at Warner Bros. who worked on Tiny Toons.
Lee, Lifeson, and Peart for their wonderful concert in St. Louis on 6/12/92.
Scott Anderson, Mike Frankowski, and Joshua Thompson.
Hellos to the following:
╥Robo╙ Dave Lyons, Marc -30- Sira, Brian ╥p-p-peach nectar╙ Tao, The Omega Concern, and of course The Mid.
MODZap¬ has been brought to you by the letter ╘F╒.