home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Best of Mega Games for DOS
/
MEGA.iso
/
1993tris
/
mp.doc
< prev
next >
Wrap
Text File
|
1991-10-22
|
20KB
|
456 lines
MODPLAY ********* (C) Mark J Cox
MODPLAY ** 1990/1991
MODPLAY *******
MODPLAY ************** Version 2.03
Play AMIGA 4 channel music files on a PC
I. QUICK START
─────────────────────────────────────────────────────────
If you are impatient and don't want to read all the documentation before
trying this program, type:
mp -i
or mp -a-i If your machine is 10Mhz - 12Mhz
or mp -s-i If you have a SoundBlaster Card installed
II. EXTRA INFORMATION
─────────────────────────────────────────────────────────
1 On startup some machines think they have a Soundblaster
card installed even if they do not. If you do not have
a Soundblaster card but it thinks you do, please do not
use the -s option or change output device to Soundblaster
(it may hang up your machine and you will have to reboot)
2 If your video card supports text modes such as 25*132,
44*132, 60*132 or just about any other text mode then enter
this mode (using the utility supplied with your card) and
MODPLAY will take full advantage of it.
3 If you have received MODPLAY with any commercial product
(excluding DABS PRESS and Activision/Infocom) please
let me know as soon as possible. This software has been
written to be distributed freely (subject to License at end
of this document) - not so companies can make lots of money
out of it themselves.
III. INTRODUCTION TO MODPLAY
─────────────────────────────────────────────────────────
Modplay allows you to play Amiga soundtracker/noisetracker files
(or 4 channel Startrekker files) on a PC (10Mhz or faster clock speed).
Modplay is written *entirely* in assembler and now runs to over
7,000 lines of source and has taken around 300 hours to produce.
1. WHAT ARE MODULES?
─────────────────────────────────────────────────────────
A module consists of 15 (or 31) sampled instruments and a four channel
music track. By playing the instruments at different pitches a
soundtrack lasting many minutes can be produced. The PC speaker is not
really up to handling modules, since in total we have a 10 bit sample
to be played, and the speaker can only handle 5 (and thats only just
possible). A D/A converter gives 8 and the stereo version gives
effectively 9. The output sounds OK through a good sized PC speaker, the
cheap piezo devices found in some computers including laptops are not
really designed to cope. So through external harware MODPLAY comes
close to the quality you would get on an AMIGA.
2. IMPLEMENTATION
─────────────────────────────────────────────────────────
MODPLAY implements all Amiga effects such as volume sliding, vibrato etc.
Most Amiga modules have samples in them that are less than 64k each in
length, these can be played as normal on any 286 10Mhz or better; a
rare few have samples >64k in them and although these will be played
by modplay you really need a 16MHz machine minimum to keep up. These
modules are marked with a '*' on the top line of the display next to the
filename when they are playing.
3. MODPLAY OPTIONS - COMMAND LINE PLAYING
─────────────────────────────────────────────────────────
From the command line a module can be played through any of the output
devices with or without a moving graph display. The format is
MP [-q] [-0..6] [-a/-b] filename [.MOD]
Items in [ ] are optional. The -q if present tells MODPLAY not to
display any text and so the module will play without disturbing the
text display. (You could use this in a game's title screen written
in C or Basic, by doing a system or shell command - MODPLAY exits when
a key is pressed). The -(number) tells MODPLAY what hardware to play
the module through. The filename can contain wildcard characters
(*,?), so MODPLAY * would be valid and would play all the *.MOD files
in the current directory one after the other. Playback of a sequence
of files can be aborted by pressing ESCape two or three times in rapid
sucession.
-0 is the PC Speaker (default unless a stereo-on-one card is found)
-l1 is a D/A converter on printer port 1
-l2 is a D/A converter on printer port 2
-l3 is a D/A converter on printer port 3
-l4 is a D/A converter on printer port 4
-ls is 2 D/A converters, one on port1 the other on port2 (gives stereo)
-lm is 2 D/A converters as above but giving mono.
-s is a Soundblaster card (any base address 210-260 is detected)
-xm
This is of use if you have a single D/A converter on an expansion
port or any known address. Use -xm(address) where the address is
a 3 digit hex number. (Example -xm3B7 would play in mono to a
D/A converter at address 03B7)
-xs
This is similar to -xm, allowing two D/A converters and hence stereo
operation. Use -xs(address1)(address2). [Example, -xs300301 would
play in stereo to D/A converters at 0300 and 0301. Note that these
switchs must be used from the command line and cannot be changed when
inside MODPLAY
Stereo-on-1
Modplay will autodetect a Stereo-on-1 board on any Parallel port and
use it. See HARDWARE.DOC for more information
Soundblaster
Modplay will autodetect a Soundblaster card at any base address and
use it.
(Using a /number will ignore anything autodetected).
-a should be used if your computer crashes when playing tunes, it
decreases the rate of playing samples - decreasing the quality
noticably through the speaker, but should mean 10Mhz-12Mhz machines
can cope.
-b This is the default mixing speed designed for a 12MHz PC
-d This option is used when if you don't like my choice of character
for drawing the bars. I've had lots of mail all saying you would
like different characters - so now you can choose your own,
Usage is -dxx where xx is a two-digit hexidecimal number of the
character you want to use,
-dF0 Would be ≡, the default bar
-df7 Would be ≈, one of my favorites
-d02 is quite fun for 'acid house' type mods.
And if you are still not satisfied, then pressing F1 or F2 when
playing changes the character as well! F3 and F4 even change the
colour of the moving bar. Hours of fun (yawn)!
Playing is stopped by pressing *any* key, or when the module is finished
Modules that loop at the end, or jump backwards are stopped so they
will only play once.
There are some special keys, described in the next section that can
be used to whiz through a module like a CD player.
4. MODPLAY IN INTERACTIVE MODE
─────────────────────────────────────────────────────────
MP -i will bring up a display menu screen - help on all key presses
is available by pressing F1. From this screen you can change
directory, change drive or play one or more modules.
The commands allowed are:
Basic Keys:
Cursor Keys Move the highlight bar together with the 'PgUp',
'PgDn', 'Home' and 'End' keys.
<SPACE> This will play the current module highlighted, or change
to the directory or drive hightlighted
<ESC> Quits modplay
<c> Brings up a menu showing all the possible output devices.
Lets you move around them using the arrow keys and select
one by pressing SPACE or RETURN.
<!> Lets you perform DOS commands.
Advanced:
<t> Tags the currently highlighted module (displays a "+")
or untags the module if already tagged.
<T> Tags all modules in directory
<U> Untags all modules in directory
<p> Plays all tagged modules in sequence.
<s> Takes you into the Sample sub-menu screen
Sample Sub-menu:
From here you can look at the samples that make up the module - there
are a few special keys that perform various functions that are not
fully tested and are provided for users that know what they are
doing (i.e. not bomb proof input routines!)
<p> Plays the sample highlighted
<m> Plays the whole module
<w> Prompts for a filename and then saves the sample to disk
<r> Reads a new sample into the old slot.
5. PLAYBACK KEYS
─────────────────────────────────────────────────────────
During any playback, pressing the left arrow key will slow the music
down, the right arrow key will speed it up and the down arrow key
restores to default speed. The PageDown key will skip to the next
track, PageUp jumps back one track. The END key will (almost)
pause the music, with the down arrow key restoring the speed.
The F1 key toggles help which lists all the keys currently available.
6. TEST MODE
─────────────────────────────────────────────────────────
You can obtain an alternative display when playing modules from the
interactive mode by starting MODPLAY with the -t-i switches. This
display may not update quickly enough on slower machines.
7. LISTS OF MODULES
─────────────────────────────────────────────────────────
If like me you have hundreds of modules spread over many disks you
may find the -o option useful. This option writes out a list of
mods in the current directory to the screen which can be redirected
to a file. Example:
A:\> mp -o > c:\modlist.021
Would create a file c:\modlist.021 with the following contents
AXELF.MOD axel f 15 83 110k 10:24
FCMEDINA.MOD funky cold medina 31 31 229k 01:56
HUMANINV.MOD human invasion 31 26 197k 03:15
KYLIEMIX.MOD kyliemix 15 15 59k 01:52
SJUNGLE.MOD street jungle 31 45 135k 05:38
THEMODEL.MOD the model 31 28 74k 03:30
MCHAMMER.ZIP MCHAMMER.MOD 15 0 106k 00:00
8. VERSION
─────────────────────────────────────────────────────────
The -v flag displays automatic information about your version of MODPLAY.
It will show the main version number and the exact date/time it was
compiled, for example:
C:\> mp -v
Program : MODPLAY (MP.COM)
Version : 2.02 (October 1991)
Compiled on : 10-10-1991 at 20:30:58
Compiled by : Mark J Cox
9. ARCHIVED MODULES
─────────────────────────────────────────────────────────
Using a popular archiving utility normally saves about 30% of disk space
for modules. Support is now added so that MODPLAY will automatically
find and play modules stored in archives (in interactive mode only at
present). Modules can be archived into LZH or ZIP formats and there
must be only one module per archive (modules must have a .MOD extension)
MODPLAY runs your unpacker for you, creating the .MOD file temporarily on
your hard disk; plays the .MOD file then deletes it. To play ZIP files
you must have a program or a batch file called PKUNZIP somewhere on your
path; to play LZH files you must have a program called LHARC.
If you have a better method you would like adding, please let me know.
10. SOURCE OF MODULES
─────────────────────────────────────────────────────────
You can obtain modules from many Bulletin Boards, Internet sites or from
friends Amiga's. Modules usually come archived in LZH form, these can be
unpacked with the excellent LHARC program. The files will usually unpack
as 'mod.something' and so MSDOS cuts them short to 'mod.SOM' and it is
best to rename these to 'something.mod' so that MODPLAY will automatically
detect them.
11. FREEWARE
─────────────────────────────────────────────────────────
This software is Freeware - that means that there is no registration fee,
you can copy this software, give it to anyone, and use it for anything
(subject to the license at the end of this document). If you like this
software, and would like the author to continue writing- a gift would be
appreciated, send any spare UK currency you have left (from holiday etc.)
8-)
*** Was free, Is free, Always free ***
12. CREDIT & THANKS DUE TO:
─────────────────────────────────────────────────────────
╔════════════════════════════════════════════════════════════════════════╗
║ ║
║ DABS PRESS - For providing a Soundblaster Board that enabled ║
║ Manchester, UK MODPLAY to finally work with it! DABS PRESS ║
║ supply PC's and a whole host of peripherals, ║
║ including Soundblaster boards at excellent ║
║ prices. Look at the adverts in most UK ║
║ computer magazines or ring 061-773 8632 now! ║
║ ║
╚════════════════════════════════════════════════════════════════════════╝
Mahoney & Kaktus - A sample Amiga assembler noisetracker replay
routine that provided some details on how a
module was comprised and sparked the initial
idea.
Francois Jalbert - For spending hours wading through my source code
looking for a nasty bug that only seemed to occur
when we were not looking for it - and providing
moral support when I get bored.
Norman Lin (Modedit) - Who pointed out a few mistakes in my
initial implementation.
Derek Beacroft - For obtaining the Soundblaster programming
information and other ideas
Pete Jones, Paul - For finding all the bugs in pre-release versions
Sutton, Phil Copeland and picking holes in the documentation
Other tracker - For being limited,shareware or for not working and
players/editors hence giving me a reason to write MODPLAY.
And the other (now over 100) people who have commented on MODPLAY and
given ideas for the future.
13. COPYRIGHT/LICENSE/WARRANTY
─────────────────────────────────────────────────────────
The files MP.COM, HARDWARE.DOC, WHAT.NEW and this document MP.DOC
("the software") are copyrighted by the author (Mark J Cox).
The copyright owner hereby licenses you to: use the software;
make as many copies of the program and documentation as you wish;
give such copies to anyone; and distribute the software and
documentation via electronic means. This means that as a company
you could put MODPLAY on any of your PCs or Networks freely.
You are specifically prohibited from charging, or requesting donations,
for any such copies, however made; and from distributing the software
and/or documentation with commercial products without written
contract from the author (Mark J Cox).
This software may be distributed in Shareware/Public Domain libraries
that charge for copying and distributing disks.
║ No Copy Of The Software May Be Distributed Or Given Away Without ║
║ This Document; And Neither The Program Or Document May Be Altered ║
║ In Any Way, Or Reverse-Engineered By Disassembly Or Other Method. ║
There is no warranty of any kind, and the copyright owner is not liable
for damages of any kind. By using this software, you agree to all the
above terms.
The software, documentation and diagrams are
Copyright (C) 1990/1991 by Mark J Cox
14. EXAMPLE QUESTIONS
─────────────────────────────────────────────────────────
These are a selection of comments/suggestions and questions I have
received.
Q. I keep getting 'Divide Error' and my computer locks up
A. Some modules I have seen are corrupt - there is no way MODPLAY can
tell and there is no time to do any checks - use the 's' command and
you should be able to see if the module has any garbage in it.
Q. It sounds like my computer is about to explode.
A. You have a small piezo speaker - why not build a resistor D/A as
explained above or put a nice sized speaker (Radio Shack/Tandy) in
instead.
Q. Can I edit modules?
A. Not with MODPLAY - use MODEDIT written by Norman Lin that uses
MODRES a resident version of MODPLAY
Q. Ever thought of supporting 8 channels like 'Startreker'?
A. Yeah, but you would need a 20Mhz+ to run it...and I haven't found
enough modules that support it yet though.
Q. I can't find this ZN426E chip
A. Try MAPLIN otherwise you could always substitute any D/A or use the
resistor version
Q. I really like MODPLAY
A. A gift would be appreciated :-)
Q. "Speech on the IBM PC is not just a case of 'yet another Lotus-1-2-3'
but a basic piece of innovative software which is being incorporated
into several commercial products at this very moment. Releasing an
un-supported non-commercial product of this nature is a highly
irresponsible act which we cannot stand by and watch without doing our
utmost to prevent" - A UK company talking about the PLAY program.
A. (I'll let you make your own answer up, send me your favourite)
15. CONTACT/SUPPORT
─────────────────────────────────────────────────────────
Before June 1992:
-----------------
Mark J Cox Electronic Mail:
17 Kirkburn Place (JANET) m.j.h.cox@uk.ac.bradford (UK)
Bradford m.j.h.cox@bradford.ac.uk (other)
W. Yorks, UK (NETMAIL) Post a message in PLAY SUPPORT on
BD7 2BZ Kingdom of Greyhawk BBS
(+44 332 756414)
After June 1992:
----------------
29 Lundie Close (NETMAIL) Post a message in PLAY SUPPORT on
Stenson Fields Kingdom of Greyhawk BBS
Derby, UK (+44 332 756414)
DE2 3AN
All comments on PLAY, RESPLAY, MODPLAY or future software are welcomed!
Please enclose a SSAE for quicker reply.