home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 2 / ctrom_ii_b.zip / ctrom_ii_b / C!T / C!T12_93 / MODPLAY / MP.DOC < prev    next >
Text File  |  1991-07-26  |  21KB  |  499 lines

  1.                          _ __    _    __   _    ,
  2.                           )  ) _//   /  ) ' )  /    Amiga module player
  3.                   M O D  /--'  /    /--/   /  /     for a 10Mhz or faster
  4.                         /     /___ /  (_  (__/_     IBM compatible PC
  5.                                            //
  6.                                           (/        (C) Mark J Cox 1991
  7.             VERSION 1.35
  8. ____________________________________________________________________________
  9. Contents:
  10.                 o What are modules
  11.                 o How to use MODPLAY
  12.                 o How to get modules & contact author
  13.            and  o How to make a D/A converter for about ONE POUND!
  14.                   that works with MODPLAY, PLAY and other software
  15.         o Questions and Answer session
  16. ____________________________________________________________________________
  17.  
  18. Quick Guide:    If you are like me and don't want to read all the
  19.                 documentation before playing with the program, type:
  20.  
  21.                 mp /i            
  22. or              mp /a/i   If your machine is 10Mhz - 12Mhz
  23. ____________________________________________________________________________
  24.  
  25. Quick Guide to changes:
  26.  
  27.  **             Now supports playing from ZIP's and LHZ's as well as
  28.                 shelling to DOS.  Just create an archive with one file
  29.                 in it - the file being the .MOD file and make sure that
  30.                 somewhere on your path there is a copy of PKUNZIP and LHA
  31.                 (or batch files that run similar programs).
  32.  
  33.  **             If your video card supports text modes such as 25*132,
  34.                 44*132, 60*132 or just about any other text mode then enter
  35.                 this mode (using the utility supplied with your card) and
  36.                 MODPLAY will take full advantage of it.
  37.  
  38.  **             Two programs are in the archive
  39.                 MP.COM and
  40.                 MP128.COM
  41.  
  42.  **             Both these programs are identical except the second will
  43.                 play MOD's that have samples >64k in them.  MP128.COM is
  44.                 still being tested so I recommend using MP.COM for your
  45.                 normal modules.  MP128.COM needs a processor running at
  46.                 at least 16MHz.  (Soon MP/MP128 will be one program)
  47.  
  48.  **             WILL NOT WORK WITH QEMM OR EMM386.  IF YOU HAVE ANY
  49.                 EMS DRIVER LOADED PLEASE DISABLE IT BEFORE USING MODPLAY!
  50.                 (I've just bought a 386 so I should be able to fix this
  51.                 soon)
  52. ____________________________________________________________________________
  53.  
  54. Introduction
  55. ------------
  56.  
  57.     Modplay allows you to play (most) Amiga soundtracker/noisetracker files
  58.     on a PC (10Mhz or faster clock speed).  Any CGA/MGA/HERC or better
  59.     display is needed to get a graphical display when playing, and the
  60.     display can be turned off if required.  MODPLAY detects automatically 
  61.     if a module is corrupt, and detects if it is a 15 or 31 instrument module.
  62.  
  63. What are Modules?
  64. -----------------
  65.  
  66.     A module consists of 15 (or 31) sampled instruments and a four channel
  67.     music track.  By playing the instruments at different pitches a
  68.     soundtrack lasting many minutes can be produced.  The PC speaker is not
  69.     really up to handling modules, since in total we have a 10 bit sample
  70.     to be played, and the speaker can only handle 5 (with difficulty!).  A
  71.     D/A converter gives 8 and the stereo version gives effectively 9. The
  72.     output sounds OK through a good sized PC speaker, the cheap piezo
  73.     devices found in some computers including laptops are not really 
  74.     designed to cope.
  75.  
  76. Implementation:
  77. ---------------
  78.  
  79.     MODPLAY implements all Amiga effects such as volume sliding, vibrato etc.
  80.  
  81. Instructions:
  82. -------------
  83.  
  84.     There are two ways of using MODPLAY - the first from the command line and 
  85.     the second in 'interactive mode'
  86.  
  87.     Command Line:
  88.     -------------
  89.  
  90.     From the command line a module can be played through any of the output
  91.     devices with or without a moving graph display.  The format is
  92.  
  93.     MP [/q] [/0..6] [/a..c] filename [.MOD]
  94.  
  95.     or to play multiple modules
  96.  
  97.     MP [/q] [/0..6] [/a..c] filespec
  98.  
  99.     Items in [ ] are optional.   The /q if present tells MODPLAY not to
  100.     display any text and so the module will play without disturbing the
  101.     text display.  (You could use this in a game's title screen written
  102.     in C or Basic, by doing a system or shell command - MODPLAY exits when
  103.     a key is pressed).  The /number tells MODPLAY what hardware to play
  104.     the module through.  The filename can contain wildcard characters
  105.     (*,?), so MODPLAY * would be valid and would play all the *.MOD files
  106.     in the current directory one after the other.  Playback of a sequence
  107.     of files can be aborted by pressing ESCape two or three times in rapid
  108.     sucession.
  109.  
  110.     /0 is the PC Speaker
  111.     /1 is an D/A converter on printer port 1
  112.     /2 is                  on printer port 2
  113.     /3 is 2 D/A converters, one on port1 the other on port2 (gives stereo)
  114.     /4 is 2 D/A converters as above but giving mono.
  115.     /5 is a D/A converter on printer port 1 (thats on a video card)
  116.     /6 is a prototype board
  117.     /s plays through a Soundblaster board installed at base address:
  118.     /s1     210
  119.     /s2    220
  120.     /s3    230
  121.     /s4    240
  122.     /s5    250
  123.     /s6    260
  124.     
  125.     (These are explained in more detail later on).
  126.     
  127.     /a should be used if your computer crashes when playing tunes, it
  128.        decreases the rate of playing samples - decreasing the quality
  129.        noticably through the speaker, but should mean 10Mhz-12Mhz machines
  130.        can cope.
  131.     /b This is the default mixing speed designed for a 12MHz PC
  132.     /c Can be used with machines running at 25MHz or faster and provides
  133.        a slightly better output to the speaker (not really noticable)
  134.  
  135.     Playing is stopped by pressing *any* key, or when the module is finished
  136.     Modules that loop at the end, or jump backwards are stopped so they
  137.     will only play once.
  138.  
  139.     There are three special keys, described in the next section that can
  140.     be used to whiz through a module like a CD player.
  141.  
  142.     Interactive:
  143.     ------------
  144.  
  145.     MP /i will bring up a display menu screen - help on all key presses
  146.     is available by pressing F1.   From this screen you can change
  147.     directory, change drive or play one or more modules.
  148.  
  149.     The commands allowed are:
  150.  
  151.     Basic:
  152.  
  153.     Cursor Keys Move the highlight bar together with the 'PgUp',
  154.                 'PgDn', 'Home' and 'End' keys.
  155.     <SPACE>     This will play the current module highlighted, or change
  156.                 to the directory or drive hightlighted
  157.     <ESC>       Quits modplay
  158.     <c>         Steps through the allowed output devices
  159.     <!>         Shells to DOS
  160.  
  161.     Advanced:
  162.  
  163.     <t>         Tags the currently highlighted module (displays a "+")
  164.     <u>         Untags the module if already tagged
  165.     <T>         Tags all modules in directory
  166.     <U>         Untags all modules in directory
  167.     <p>         Plays all tagged modules automatically
  168.  
  169.     <s>         Takes you into the Sample sub-menu screen
  170.  
  171.     Sample Sub-menu:
  172.  
  173.     From here you can look at the samples that make up the module - there
  174.     are a few special keys that perform various functions that are not
  175.     fully tested and are provided for users that know what they are
  176.     doing (i.e. not bomb proof input routines!)
  177.  
  178.     <p>         Plays the sample highlighted
  179.     <m>         Plays the whole module
  180.     <w>         Prompts for a filename and then saves the sample to disk
  181.     <r>         Reads a new sample into the old slot.
  182.  
  183.     Special Keys:
  184.     -------------
  185.  
  186.     During any playback, pressing the left arrow key will slow the music
  187.     down, the right arrow key will speed it up and the down arrow key
  188.     restores to default speed.
  189.  
  190. Archived Modules:
  191. -----------------
  192.  
  193.     Using a popular archiving utility normally saves about 30%
  194.     
  195. Source of Modules:
  196. ------------------
  197.  
  198.     There are many sources or BBS's and via ftp.  Modules usually come archived
  199.     in LZH form, these can be unpacked with the LHARC program which can be
  200.     found on most MSDOS BBS's.  The files will usually unpack as 'mod.something'
  201.     and MSDOS cuts them short to 'mod.SOM' and it is best to rename these to 
  202.     'something.mod' so that MODPLAY will automatically detect them.
  203.  
  204. Speaker Routines:
  205. -----------------
  206.  
  207.     The PC Speaker routines I used in PLAY and RESPLAY were not good enough for
  208.     MODPLAY.  PLAY and RESPLAY worked by linearly assigning the 64 different
  209.     waves the speaker could produce to the 256 levels of sample.  Most of
  210.     MODPLAYs information is in the middle 30 or so levels, as its not very
  211.     often that all the four channels are at maximum volume together.  So I
  212.     have designed a new logarithmic table - this means that the sound will be
  213.     a little wierd from the speaker, but it is better than it was with the
  214.     PLAY algorithm. (noticable only on speech samples)
  215.  
  216. Supported Hardware:
  217. -------------------
  218.  
  219.     MODPLAY will play modules through the PC Speaker as mentioned above, through
  220.     an D to A converter on any of the three possible parallel ports, in stereo
  221.     if you have an D to A converter on both LPT1 and LPT2 (this sounds really
  222.     good) and also through a prototype board (currently in development by
  223.     a friend - stereo replay and sampling).  
  224.  
  225. How to make a D/A converter for five pounds:
  226. --------------------------------------------
  227.  
  228.     A simple circuit for HiFi quality sound needs only a few components (and
  229.     this circuit will work with lots and lots of other software).  A diagram
  230.     is enclosed in file MP.C00, and can be printed on any Postscript 
  231.     compatible printer.
  232.  
  233.     You need:
  234.  
  235.     IC1 a ZN426E (about 3 pounds)
  236.     C1 a 10micro-farad electrolytic capacitor (10V or greater)
  237.     C2 a 4.7micro-farad electrolytic capacitor (10V or greater)
  238.     R1 a 380ohm resistor (any sort)
  239.     CON1 a phono socket
  240.     CON2 a 25 way male D-type connector (for your parrallel port)
  241.     A bit of 10 way cable - or 10 short wires.
  242.     1 roll of double sided sticky tape (how'd that get there?)
  243.     A +5v supply
  244.  
  245.     Connect the following pins of IC1 to the numbered pins of CON2 (should
  246.     be numbered on the socket).  
  247.  
  248.     IC1 - CON2      IC1 - CON2
  249.     3     9         12    5
  250.     2     8         11    4
  251.     1     7         10    3
  252.     13    6          9    2
  253.  
  254.     Connect 0v of your power supply to pin 25 of CON2, the ground connection
  255.     of CON1, pin 7 of IC1 and also the -ve side of C2.
  256.  
  257.     Connect +5v of your power supply to pin 14 IC1 and one end of the resistor
  258.  
  259.     IC1 pin 5 and 6 are joined together and also to the +ve side of C2 and the
  260.     other end of the resistor.  
  261.  
  262.     IC1 pin 4 is connected to the +ve side of C1, the -ve side being connected
  263.     to the centre connection of the phono socket CON1.
  264.  
  265.     Every pin except pin 8 of IC1 should now be connected somewhere. Connect
  266.     a +5v power supply, attach to a parallel port and plug in your amplifier
  267.     to the phono socket.
  268.  
  269.     Getting a +5v power supply
  270.     --------------------------
  271.  
  272.     Catalogues such as MAPLIN (uk) provide simple circuits for obtaining
  273.     a +5v power supply (it only has to be 100mA maximum).  Alternatively
  274.     you could tap +5v off the keyboard connector or use 3 1.5volt
  275.     batteries (or even 4 1.5volt batteries with two diodes in series to
  276.     drop the voltage).  In fact, anything that produces a voltage in the
  277.     range 4.5 - 5.5 volts. (in fact you can even tap +5v from the game
  278.     port)
  279.  
  280. How to make an even cheaper D/A
  281. -------------------------------
  282.  
  283.     For the price of 20 1% resistors and a plug, with no power supply
  284.     needed you can make a D/A converter that sounds close to the IC
  285.     one above (it seems only the UK can get a Plessey ZN426E)
  286.  
  287.     You need one plug for your amp, one for your parallel port and
  288.     9 20k and 9 10K resistors
  289.     Use 1% resistors if possible - try to get 20k rather than 22k
  290.  
  291. Printer Port:
  292. signal   pin        20k          20k
  293.                     ____         ____
  294. D0       2     >---|____|---+---|____|---+
  295.                             |            | 
  296.                            +-+          --- 0v
  297.                            | | 10k
  298.                     20k    +-+
  299.                     ____    |
  300. D1       3     >---|____|---+
  301.                             |
  302.                            +-+
  303.                            | | 10k
  304.                     20k    +-+
  305.                     ____    |
  306. D2      4      >---|____|---+
  307.                             |
  308.                            +-+
  309.                            | | 10k
  310.                     20k    +-+
  311.                     ____    |
  312. D3      5      >---|____|---+
  313.                             |
  314.                            +-+
  315.                            | | 10k
  316.                     20k    +-+
  317.                     ____    |
  318. D4      6      >---|____|---+
  319.                             |
  320.                            +-+
  321.                            | | 10k
  322.                     20k    +-+
  323.                     ____    |
  324. D5      7      >---|____|---+
  325.                             |
  326.                            +-+
  327.                            | | 10k
  328.                     20k    +-+
  329.                     ____    |
  330. D6      8      >---|____|---+
  331.                             |
  332.                            +-+
  333.                            | | 10k
  334.                     20k    +-+
  335.                     ____    |
  336. D7      9      >---|____|---+
  337.                             |
  338.                            +-+
  339.                            | | 10k
  340.                            +-+
  341.                             |             | |
  342.                             +-------------| |--------> To AMPLIFIER
  343.                             |             | |100nF
  344.                            +-+
  345.                            | | 10k
  346.                            +-+
  347.                             |
  348. GND     20    >-------------+------------------------>
  349.                             |
  350.                            --- 0v
  351.  
  352.      Thanks to Harry Stox for the above circuit.
  353.  
  354. Freeware:
  355. ---------
  356.  
  357.     This software is Freeware - that means that there is no registration fee,
  358.     you can copy this software, give it to anyone, and use it for anything 
  359.     (subject to the license at the end of this document).  If you like this
  360.     software, and would like the author to continue writing-  a gift would be
  361.     appreciated.  For gifts of 10 UK pounds or greater I will send a package
  362.     of the full circuit diagrams for sampling as well as the playback mentioned
  363.     here,  printed documentation for PLAY, RESPLAY and MODPLAY and two disks
  364.     with Samples and the latest versions of the programs.
  365.  
  366.                   *** Was free,  Is free,  Always free ***
  367.     
  368. Credits:
  369. --------
  370.  
  371.     Many thanks must go to Mahoney & Kaktus for their Amiga assembler 
  372.     noisetracker replay routine which provided much inspiration and 
  373.     help with the module format and effects. And the numerous number
  374.     of people (aproaching three figures) that have contributed by giving
  375.     bug fixes and ideas for future developments.
  376.  
  377.     Over 60 people have given hints and tip for MODPLAY - special thanks
  378.     to Norman Lin (Modedit) who pointed out a couple of mistakes in my
  379.     program,  Francois Jalbert for spending hours wading through the source
  380.     code in hunt of an elusive bug and Derek Beacroft for providing the 
  381.     much needed Soundblaster programming information. (even though I
  382.     still can't get it to work).
  383.  
  384. _____________________________________________________________________________
  385.  
  386. Copyright/License/Warranty
  387. --------------------------
  388.  
  389.     This document and the program files MP.COM, MP128.COM ("the software") 
  390.     are copyrighted by the author.  The copyright owner hereby licenses
  391.     you to: use the software; make as many copies of the program
  392.     and documentation as you wish; give such copies to anyone; and
  393.     distribute the software and documentation via electronic means.
  394.     There is no charge for any of the above.
  395.     
  396.     You are specifically prohibited from charging, or requesting
  397.     donations, for any such copies, however made; and from
  398.     distributing the software and/or documentation with commercial
  399.     products without prior permission.
  400.     
  401.     NO FOR-PROFIT ORGANIZATION IS AUTHORIZED TO CHARGE ANY AMOUNT
  402.     FOR DISTRIBUTION OF COPIES OF THE SOFTWARE OR DOCUMENTATION,
  403.     OR TO INCLUDE COPIES OF THE SOFTWARE OR DOCUMENTATION WITH SALES
  404.     OF THEIR OWN PRODUCTS.
  405.     
  406.     THIS INCLUDES A SPECIFIC PROHIBITION AGAINST FOR-PROFIT
  407.     ORGANIZATIONS DISTRIBUTING THE SOFTWARE, EITHER ALONE OR WITH
  408.     OTHER SOFTWARE, AND CHARGING A "HANDLING" OR "MATERIALS" FEE OR
  409.     ANY OTHER SUCH FEE FOR THE DISTRIBUTION.  NO FOR-PROFIT
  410.     ORGANIZATION IS AUTHORIZED TO INCLUDE THE SOFTWARE ON ANY MEDIA
  411.     FOR WHICH MONEY IS CHARGED WITHOUT PRIOR PERMISSION FROM THE
  412.     COPYRIGHT OWNER.
  413.     
  414. *    No copy of the software may be distributed or given away without  *
  415. *    this document; and neither the program or document may be altered *
  416. *    in any way, or reverse-engineered by disassembly or other method. *
  417.     
  418.     There is no warranty of any kind, and the copyright owner is not
  419.     liable for damages of any kind.  By using this free software,
  420.     you agree to this.
  421.     
  422.     The software and documentation are:
  423.  
  424.     Copyright (C) 1990/1991       Mark J Cox
  425.  
  426.     All Trade Marks and Registered Names Acknowledged.
  427. _____________________________________________________________________________
  428.  
  429. Example Questions
  430. -----------------
  431.  
  432. These are a selection of comments/suggestions and questions made recently:
  433.  
  434. Q. Modplay crashes.
  435. A. Try the /a switch, if it still persists then it probably means you
  436.    have some high memory drivers that don't like MODPLAY - let me know
  437.    your system config so I can try to solve it
  438.  
  439. Q. I keep getting 'Divide Error' and my computer locks up
  440. A. Some modules I have seen are corrupt - there is no way MODPLAY can 
  441.    tell and there is no time to do any checks.
  442.  
  443. Q. It sounds like my computer is about to explode.
  444. A. You have a small piezo speaker - why not build a resistor D/A as
  445.    explained above or put a nice sized speaker (Radio Shack/Tandy) in
  446.    instead.
  447.  
  448. Q. Can I edit modules?
  449. A. Not with MODPLAY - use MODEDIT written by Norman Lin that uses
  450.    MODRES a resident version of MODPLAY
  451.  
  452. Q. Ever thought of supporting 8 channels like 'Startreker'?
  453. A. Yeah, but you would need a 386 33M to run it and since I don't
  454.    have one to design the program and as there aren't many 8 track
  455.    modules.
  456.  
  457. Q. I wrote to you yesterday and haven't had a reply
  458. A. I get a large volume of mail about MODPLAY - I aim to reply within
  459.    a week, two at maximum
  460.  
  461. Q. I can't find this ZN426E chip
  462. A. Try MAPLINS (if you are in the UK) otherwise you could always 
  463.    substitute any D/A or use the resistor version
  464.  
  465. Q. I really like MODPLAY
  466. A. A gift would be appreciated :-)
  467.  
  468. Q. Hey, I can't use BOARDMAKER any more
  469. A. I bet you played a module when you had your DONGLE still plugged in!
  470.    Don't you just hate dongles?  All programs that play Modules and 
  471.    samples to a printer port will blow a dongle if it happens to be on
  472.    that port at the time.  Why not write to the manufacturer and 
  473.    complain?
  474.  
  475. Q. "Speech on the IBM PC is not just a case of 'yet another Lotus-1-2-3'
  476.     but a basic piece of innovative software which is being incorporated
  477.     into several commercial products at this very moment.  Releasing an
  478.     un-supported non-commercial product of this nature is a highly 
  479.     irresponsible act which we cannot stand by and watch without doing our
  480.     utmost to prevent" - A Well known company about the PLAY program.
  481. A. (I'll let you make your own answer up)
  482. __________________________________________________________________________
  483.  
  484. Address:
  485. --------
  486.  
  487.     Mark J Cox                 Electronic Mail (from August 1st 1991)
  488.     29 Lundie Close             (JANET) m.j.h.cox@uk.ac.bradford
  489.     Stenson Fields                      m.j.h.cox@bradford.ac.uk (non UK)
  490.     Derby                       (NETMAIL) Post a message in PLAY SUPPORT on
  491.     DE2 3AN                             Kingdom of Greyhawk BBS
  492.                                         (+44 332 756414)
  493.     
  494.     (Or if before June 1992, 17 Kirkburn Place, Bradford, W Yorks BD7 2BZ 
  495.     is a bit quicker)
  496.  
  497.     All comments on PLAY, RESPLAY, MODPLAY or future software are welcomed!
  498.     Any company need an PC assembler programmer?
  499.