home *** CD-ROM | disk | FTP | other *** search
/ modiromppu / modiromppu.iso / PROGRAMS / ORGPACKS / RADV1_0A.ZIP / RAD.DOC < prev    next >
Text File  |  1995-02-01  |  43KB  |  608 lines

  1.  
  2.  ██████████████████████▄      ▄▄████████████████▄▄    █████████████████████▄▄
  3.   ████████████▀▀▀▀▀▀█████    █████████████▀▀▀▀█████   ▀█████████████▀▀▀▀▀█████
  4.   ██████████████████████▀   ████████████████████████   █████████████      █████
  5.   ████████████      █████   █████████████      █████   █████████████     ▄█████
  6.  ██████████████    ███████ ███████████████    ███████ █████████████████████████
  7.  ██████████████    ███████ ███████████████    ███████ ████████████████████████
  8.  ██████████████    ███████ ███████████████    ███████ █████████████████████▀▀
  9.  
  10.  ┌────────── ── ─ -∙· Reality ADlib Tracker  Version 1.0a ·∙- ─ ── ──────────┐
  11.  │                                                                            │
  12.  │                      (c)1995 by Shayde, Rogue, & Void.                     │
  13.  |                            -REALITY PRODUCTIONS-                           │
  14.  :                                                                            │
  15.  ·                                                                            |
  16.                                                                               :
  17.                                                                               ∙
  18.                                   INTRODUCTION
  19.                                ▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀
  20.  
  21.    Why?
  22.    ~~~~
  23.  
  24.    Why?  Well take a look around and see if YOU can find any decent Adlib
  25.    trackers around!
  26.  
  27.    Being a demo group, Reality had occasion to need Adlib tunes for our
  28.  · intros.  Void (our musician) went to work producing a tune in
  29.  . Scream-Tracker 3, despite the fact that it was designed more as a sample
  30.  ∙ tracker and Adlib seemed to be a tacked on after-thought.  But that
  31.  : wasn't the main problem.  When it came time to put the tune into the
  32.  | intro....where the hell do you find player code?!
  33.  │ That's right.  Future Crew didn't see fit to include player code with ST3  ·
  34.    hence making it useless for demo/intro development.                        .
  35.  │ The technical documentation wasn't thorough enough either so my first      :
  36.  │ attempt at writing player code for it went miserably awry.                 |
  37.  │                                                                            │
  38.  │ Then we heard that a few groups were using a package called HSC-Tracker    :
  39.  │ in their intros.  We saw it on the boards so we downloaded it, noting      │
  40.    that it was described as being "The Ultimate Adlib Tracker" including      │
  41.  │ player code.  Well this sounded like our problems were over so we gave it  │
  42.  | to our musician to try....  Hmmm.  I think I heard him scream from across  │
  43.  : the Tasman!  To the average user, HSC-Tracker looks like quite a complete  │
  44.  . package but the actual editor program was too simplistic and unfriendly    │
  45.  · for use (sorry Chicken!).  What's more, the included "linkable" player     │
  46.    code was in OBJect format which doesn't make customising it very easy,     │
  47.    and is unusable if you use a different MODEL or want to use it in          │
  48.    protected mode.                                                            │
  49.                                                                               |
  50.    So after that, the others in the group said "Fuck it.  We'll just have     :
  51.    to use a sample module (not that it's easy finding decent player code for  ∙
  52.    that!) and forget about Adlib."  But instead I decided to stop work on     .
  53.  · the intro and knock up a quick Adlib editor for our musician to use.
  54.  .                                                                            ·
  55.  ∙ Hence was born RAD, which stands for Reality ADlib tracker.  In the end,
  56.  : we got so involved in putting everything WE wanted into RAD that it has
  57.  | had a lot more effort put into it than was originally intended.  It is
  58.  │ now a fully-fledged tracker, and we think it is the best Adlib tracker
  59.  │ you're likely to find in the scene.  But not just that, for the demo
  60.  │ crews out there, RAD comes complete with full player source-code for
  61.  ║ playing RAD tunes in your intros/demos.                                    .
  62.  │ Just like the old days on Amiga...! :)                                     :
  63.  ║                                                                            │
  64.  ╠═─══─═─── ── ─ - ∙ ·              ─ ── ───- ─────═──═─══─═══──══════════════┤
  65.  │                                                                            |
  66.  │ What Does It Do?                                                           :
  67.  │ ~~~~~~~~~~~~~~~~                                                           ∙
  68.  │
  69.  | RAD, as with all trackers, is a program that allows you to author musical
  70.  : arrangements.  It was based more-or-less on Protracker (on the Amiga)
  71.  . which is the model that most music trackers seem to be based on.
  72.  
  73.        Tracker tunes are made up of three main components:
  74.                                                                               ·
  75.                    * Instruments
  76.                    * Order list                                               ∙
  77.                    * Patterns                                                 .
  78.                                                                               :
  79.        These will be described later.                                         |
  80.                                                                               │
  81.  
  82.        RAD has the following features:                                        │
  83.                                                                               ║
  84.  ·                 * Up to 31 separate instruments                            │
  85.  ∙                 * Up to 32 separate patterns                               ║
  86.  :                 * Up to 128 patterns in the order                          ║
  87.  │                 * 9 channels                                               ║
  88.  │                 * Compact tune file size.                                  │
  89.  ║                  (A fraction of the size of OTHER trackers!)               ║
  90.  │                 * Easy to use                                              ║
  91.  ║                                                                            │
  92.  ╠═════─═══─══─═────── ─ -∙ ·                                     · ∙ ─ ── ───╣
  93.  ║                                                                            ║
  94.  ║                                                                            │
  95.  │                                INSTRUCTIONS                                ║
  96.  ║                             ▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀                             │
  97.  ║                                                                            |
  98.  │ Starting RAD                                                               │
  99.  ║ ~~~~~~~~~~~~                                                               |
  100.  │                                                                            :
  101.  │     To start RAD, run the .EXE file, ie:                                   ∙
  102.  |                                                                            ·
  103.  :              RAD<enter>
  104.  .
  105.  · You will then see the main RAD screen with credits information in the      ·
  106.    lower half.  Press a key to clear the credits window.                      .
  107.                                                                               |
  108.                                                                               │
  109.                                                                               │
  110.    Layout of RAD                                                              |
  111.    ~~~~~~~~~~~~~                                                              :
  112.                                                                               .
  113.    As tracker tunes have three main parts, RAD's screen is split up into      ·
  114.    three areas corresponding to those parts.  In the top half of the screen
  115.  · in the left-hand window is the Instrument Editor.  To the right of this
  116.  ∙ window is another, thinner window that is the Order-List Editor.
  117.  . The entire lower half of the screen is (as in most trackers) the Pattern
  118.  : Editor.  The first key to know is the " ` " (back tick) key.  This
  119.  | Switches between the three areas of the screen as you can only be using
  120.  │ one area at a time.
  121.  │                                                                            ·
  122.  │ When you first enter RAD, you start off in the Pattern Editor.             .
  123.  :                                                                            :
  124.  ├────── ── ─- - ∙ ·                                                 · -─ ────┤
  125.  |                                                                            |
  126.  : Pattern Editor                                                             :
  127.  . ~~~~~~~~~~~~~~                                                             ·
  128.  ·                                                                            .
  129.    The Pattern Editor is where you enter the actual notes that will be        ∙
  130.    played.  RAD allows up to 32 separate patterns and each pattern is made    :
  131.    up of 64 lines.  Each line has 9 entries corresponding to the 9 Adlib      │
  132.    channels.  As RAD plays a pattern it steps through each line at the given  .
  133.    speed (described later) outputting the note in each column (if there IS    │
  134.    one) to the corresponding Adlib channel.  Each entry in the pattern is     |
  135.    made up of FOUR items, eg.                                                 │
  136.                                                                               │
  137.        C#3 2C30                                                               ║
  138.        ├┘│ ││├┘                                                               │
  139.        └─┼─┼┼┼────── 1) The NOTE that is played. "#" = sharp, "-" = normal.   ║
  140.          │ │││                                                                ║
  141.          └─┼┼┼────── 2) The OCTAVE of the note. From 0 to 7.                  ║
  142.            │││                                                                ║
  143.            └┼┼────── 3) The INSTRUMENT the note is played in (in Hex).        │
  144.  ·          ││                                                                ║
  145.  .          └┼────── 4) The SPECIAL EFFECT, (if any) to perform.              ║
  146.  :           └───────── and the parameter for the special effect.             │
  147.  |                                                                            ║
  148.  │                                                                            │
  149.  │ The note item follows usual musical notation.  There are twelve available  │
  150.  | notes per octave:                                                          .
  151.  ∙                                                                            │
  152.  :     C, C#, D, D#, E, F, F#, G, G#, A, A#, B                                |
  153.  ·                                                                            :
  154.    You can write a note in a given position in the pattern by pressing        .
  155.    one of the NOTE KEYS, as set out below:                                    ·
  156.  
  157.  Actual
  158.    Note-   C#  D#      F#  G#  A#      C#  D#      F#  G#  A#      C#  D#
  159.          ▐██  ▐█  ▐██▐██  ▐█  ▐█  ▐██▐██  ▐█  ▐██▐██  ▐█  ▐█  ▐██▐██  ▐█  ▐██
  160.    Keys-▐██ S▐█ D▐██▐██ G▐█ H▐█ J▐██▐██ 2▐█ 3▐██▐██ 5▐█ 6▐█ 7▐██▐██ 9▐█ 0▐██
  161.          ▐██  ▐█  ▐██▐██  ▐█  ▐█  ▐██▐██  ▐█  ▐██▐██  ▐█  ▐█  ▐██▐██  ▐█  ▐██
  162.          ▐██  ▐█  ▐██▐██  ▐█  ▐█  ▐██▐██  ▐█  ▐██▐██  ▐█  ▐█  ▐██▐██  ▐█  ▐██
  163.          ▐███▐███▐███▐███▐███▐███▐███▐███▐███▐███▐███▐███▐███▐███▐███▐███▐███
  164.    Keys-▐▌Z█▐▌X█▐▌C█▐▌V█▐▌B█▐▌N█▐▌M█▐▌Q█▐▌W█▐▌E█▐▌R█▐▌T█▐▌Y█▐▌U█▐▌I█▐▌O█▐▌P█
  165.          ▐███▐███▐███▐███▐███▐███▐███▐███▐███▐███▐███▐███▐███▐███▐███▐███▐███
  166.  Actual
  167.    Note-  C   D   E   F   G   A   B   C   D   E   F   G   A   B   C   D   E
  168.  
  169.  
  170.    When you write a note, the octave is also written.  You can change the
  171.    current octave using the "," and "." keys.  The currently selected
  172.    instrument is also written and you will hear the instrument played at
  173.    the given pitch.
  174.  
  175.    You can change instruments by pressing "[" and "]".
  176.                                                                               ·
  177.    You can navigate the Pattern Editor by using the CURSOR KEYS,              ∙
  178.    and the following:                                                         .
  179.                                                                               :
  180.        TAB     - move to the next channel                                     |
  181.        BackTAB - move to the previous channel                                 │
  182.        PgUp    - move up 16 lines                                             │
  183.        PgDown  - move down 16 lines                                           │
  184.        Home    - move to the top of the pattern                               :
  185.        End     - move to the end of the pattern                               │
  186.                                                                               |
  187.    To add/alter special effects, cursor over to the special effects           :
  188.    column and use one of the following numbers/letters:                       .
  189.                                                                               ·
  190.        0       - No effect
  191.  
  192.        1       - Slide note down (pitch bend).  Parameter gives speed of
  193.                  slide.
  194.  
  195.  ·     2       - Slide note up (pitch bend).  Parameter gives speed of slide.
  196.  ∙
  197.  .     3       - Slide to note.  This slides the LAST note played till it
  198.  :               reaches the note given with this effect.  The parameter
  199.  |               gives the speed of the slide.  Use parameter "00" in
  200.  │               subsequent lines to continue the slide.
  201.  :
  202.  │     5       - Combined slide to note & Volume slide.  This command has
  203.  │               the same functionality as effect 3 with parameter "00" but
  204.  ∙               in this case, the parameter details a volume slide.
  205.  │               1-49 fades the volume of the instrument down.
  206.  │               51-99 fades the volume of the instrument up.
  207.  ║
  208.  │     A       - Volume slide.  1-49 fades the volume of the instrument down
  209.  ║               at the given speed.  51-99 fades the volume of the
  210.  ║               instrument up at the given speed.
  211.  │
  212.  ║     C       - Set volume.  Sets the absolute volume of the instrument.
  213.  ║               Values range from 0 (silent) to 64 (loudest).
  214.  ║
  215.  ║     D       - Break.  When RAD encounters this command it skips the rest
  216.  ║               of the pattern and moves to the next pattern as specified
  217.  ║               in the Order List.  The parameter, if given, specifies a
  218.  │               line in the next pattern to start from.
  219.  ║               eg.  Effect "D12" would break to line 12 of the next pattern
  220.  ║                    in the Order List.
  221.  │
  222.  ║     F       - Set speed.  By default RAD starts up with a speed of 6 but
  223.  │               you can use this command to slow down and speed up the
  224.  │               playback rate of your tune.  To understand the speed value,
  225.  |               know that RAD uses a 50Hz timer which is delayed by the
  226.  │               speed value between each line of the pattern.                ·
  227.  |               What this means is that, say, if you set the speed to 50,
  228.  :               (using "F50"), then each line will play at the rate of one   ·
  229.  ∙               per second.  Special effects, however, are modified          ∙
  230.  ·               50 times a second.                                           .
  231.                                                                               :
  232.    To play the current pattern (to see how it sounds) press F6.               |
  233.    Pressing F6 again will stop the playback.  To move to a new pattern        │
  234.    press "-" and "+/=".                                                       .
  235.                                                                               │
  236.    You can use the following editing keys to help you in writing patterns:    │
  237.                                                                               │
  238.        INSERT  - insert a line in the current channel                         ║
  239.        DELETE  - delete the current line in the current channel               │
  240.        SPACEBAR- wipe the current item only (also stops playback).            ║
  241.  ·     F1      - Move to the top left corner of the region you wish to copy   ║
  242.  .               and press F1.  Then move to the lower right corner and       ║
  243.  :               press F1 again.  The highlighted region will then be moved   │
  244.  |               into a copy buffer.                                          ║
  245.  :     F2      - Will paste the contents of the copy buffer to the current    │
  246.  │               cursor location.                                             |
  247.  .     F3      - Will copy the entire pattern into the copy buffer.           :
  248.  │     F4      - Will replace the entire current pattern with the contents    .
  249.  │               of the copy buffer (be careful!).
  250.  │     F9      - decrement the current speed value                            ·
  251.  │     F10     - increment the current speed value                            :
  252.  │                                                                            |
  253.  ╞═══════════─═══─══─═──═── ─── ── ─- ─ - ∙ ·                 · - ─ -─ ── ────╡
  254.  |                                                                            │
  255.  : Instrument Editor                                                          │
  256.  . ~~~~~~~~~~~~~~~~~                                                          │
  257.  ·                                                                            │
  258.    To edit your instruments you need to switch to the Instrument Editor.      │
  259.    Use the " ` " (back tick) key to switch between windows until you see a    │
  260.    highlight bar appear over the top-left item in the instrument window.      |
  261.                                                                               :
  262.    RAD supports up to 31 instruments and it is these instruments that         ∙
  263.    actually produce the sound.  Each note in your patterns specifies an       ·
  264.    instrument that that note is played on.  Instruments can vary
  265.    significantly in sound from each other and, accordingly, your tune's
  266.    mood will change dramatically depending on the instrument mix you use.
  267.    Some instruments sound good as lead, other as bass and others are only
  268.    useful as percussion.
  269.  
  270.    To begin with you will probably find it easier just to load
  271.    pre-written tunes and use the instruments that came with them (you can
  272.    do this by loading the tune and pressing Control-C to clear the patterns
  273.    leaving the instruments intact).
  274.  
  275.    However, to design your own instruments, once you are in the Instrument
  276.  · Editor you can interactively alter the currently selected instrument's
  277.  . properties (remember "[" and "]" select instruments).  Use Cursor Up and
  278.  ∙ Down to select the property to alter, and Cursor Left and Right to
  279.  : decrease or increase or toggle the property's value.  There isn't much to
  280.  │ say regarding how to correctly set properties as different things produce
  281.  . different effects.  Simply alter things and press a Note Key to see how
  282.  │ it sounds!  The one property's effect you SHOULD be aware of is the
  283.  ║ CARRIER's volume.  This governs the output volume of the instrument and,
  284.  │ in fact, this is the property that is modified by the Set Volume and
  285.  ║ Volume Slide commands.
  286.  ║
  287.  │ Other than that,  Good Luck! :-)
  288.  ║
  289.  ║ If you create a cool sounding instrument, you'll probably want to put
  290.  ║ it aside somewhere for future use.  Use Control-G (Get instrument) and
  291.  │ Control-P (Put instrument) to load and save instruments.  Refer to         .
  292.  ║ Loading and Saving below on how to use the interactive directory.          :
  293.  │                                                                            |
  294.  ├─────── ── ─- ─ - ·                         ─ ── ─── ───────────────────────╣
  295.  :                                                                            ║
  296.  . Order List Editor                                                          ║
  297.  · ~~~~~~~~~~~~~~~~~                                                          ║
  298.                                                                               ║
  299.    Once you have created a few patterns you will want to string them          │
  300.    together to create a complete tune.  By moving to the Order Editor (use    ║
  301.    " ` " remember) you can define when each pattern will be played.  Line 00  ║
  302.    corresponds to the first pattern to be played, line 01 the second, etc.    │
  303.    By using Cursor Up & Down to select a line, with Insert or Delete to       ║
  304.    remove or add a line as necessary, you can use Cursor Left and Right to    │
  305.    set which pattern will be played at that position in the song.             │
  306.    for example, suppose you had the following Order List:                     :
  307.                                                                               │
  308.                  00│03                                                        .
  309.                  01│01                                                        :
  310.  ·               02│04                                                        ∙
  311.  .               03│01                                                        ·
  312.  :               04│02
  313.  |               0502
  314.  │
  315.  : When you start your tune playing (with F5), it will start by playing
  316.  │ pattern 03 (specifed by line 00).  Once it has played all 64 lines of
  317.  ║ pattern 03 (or less if you used a Break command) it will then play the
  318.  │ pattern specified by the next line, in this case, pattern 01.
  319.  ║ Each line will be played one after the other, playing the pattern listed
  320.  ║ for that line.
  321.  ║ As you can see in the above example you can re-use patterns (Pattern 01
  322.  │ is used in line 01 and 03) if there is a chorus or refrain you want to
  323.  ║ repeat in your tune.
  324.  │
  325.  | If you notice in the above example, there is a line that contains a
  326.  │ right arrow between the line and the pattern.  This is a JUMP MARKER
  327.  : and it tells RAD to jump to a new line.  So when RAD gets to line 05 in    .
  328.  . the example, rather than playing pattern 02 it will instead jump to LINE   :
  329.  · 02.  Hence the list of patterns that will be played with the above Order   |
  330.    List is:                                                                   │
  331.                                                                               │
  332.                  03, 01, 04, 01, 02, 04, 01, 02, 04, 01, 02....               │
  333.                                       │                                       │
  334.                                       └───── Repeat caused by Jump Marker     │
  335.                                                                               │
  336.    You can mark the current line as a jump marker by pressing '\' and         ║
  337.    then using Cursor Left & Right to set the line the marker will jump to.    │
  338.    A Jump Marker cannot be placed on Line 00.                                 ║
  339.                                                                               ║
  340.  · RAD will repeat the song from Line 00 when it gets to the end of the       │
  341.  . Order List so you don't need to place a Jump Marker that jumps to Line     ║
  342.  : 00 at the end of your Order List if you want your tune to repeat.          ║
  343.  |                                                                            ║
  344.  ├── ─- ─ ∙ ·                                            · ∙ ─ ── ─────═─══─══╣
  345.  │                                                                            │
  346.  │ Loading & Saving Tunes                                                     ║
  347.  : ~~~~~~~~~~~~~~~~~~~~~~                                                     │
  348.  │                                                                            │
  349.  | Naturally enough, once you have completed your Symphony No. 5, you'll      │
  350.  : want to keep a permanent record of it.  To save your tune press            │
  351.  ∙ Control-S to bring up the directory.  You can select an existing           :
  352.  · filename by positioning the highlight bar on it, using the cursor keys,    │
  353.    and then pressing Enter.  By selecting a directory or a device you can     |
  354.    move around your disk structure.  If you are saving a new file then you    :
  355.    will need to type a new filename.  Press TAB to switch to the filename     ∙
  356.    field and enter the desired filename, using the editing keys to fix        ·
  357.    typing mistakes as necessary.  Press Enter to save.  If you are saving
  358.    over an existing file you will be asked to confirm.
  359.  
  360.    Loading follows a similar procedure.  Press Control-L and use the
  361.    directory and filename field to select the desired tune file.  Whereas
  362.    saving, however, only creates RAD compatible files, you may load not
  363.    only RAD files, but ScreamTracker 3 and HSC-Tracker compatible files.
  364.  
  365.    Note:
  366.         Due to differences in structure between the different tracker
  367.         packages, converted tunes will sometimes not sound like their
  368.         originals.  Therefore loading .S3M and .HSC tunes should really be
  369.         viewed as a tool for converting these formats to RAD format, rather
  370.         than for general purpose playing.
  371.  
  372.  
  373.    Adding a Description
  374.    ~~~~~~~~~~~~~~~~~~~~
  375.  
  376.    Because tracker tunes circulate widely and are often not accompanied
  377.    by documentation, traditionally musicians have placed author information
  378.    and greets in the instrument fields of their compositions.  RAD does not
  379.    have instrument fields but you can add a description to your tune by
  380.    entering the Description Editor.  Press Control-D to toggle between
  381.    editing the Description and editing the Pattern.  The Description Editor
  382.    is a simple free-form one page text editor.  Type whatever you like,
  383.    where you like, even if it's just the name of the tune!
  384.                                                                               ·
  385.    Because RAD was written as an intro tune development system, the tune      ∙
  386.    files were designed to be fairly compact so as not to take up much room    :
  387.  · in any programs it was used in.  Adding a Description to a tune will       |
  388.  . add to the length of the tune.  In the bottom right corner of the          .
  389.  : Description Editor is a counter that displays the number of bytes that     │
  390.  │ the current Description text will occupy in the saved file so you'll       .
  391.  . always know just how much space your hot air is going to take up! :-)      │
  392.  │                                                                            │
  393.  │ You may not see much use for a Description especially if the tune is       │
  394.  ║ ultimately destined for use in an intro but the fact is module-ripping     │
  395.  │ is a popular past-time and chances are, if your tune is awesome, it WILL   │
  396.  ║ be ripped out of your intro and spread around.  You can at least make      |
  397.  ║ sure everyone knows who wrote the ripped tune because the description      :
  398.  │ will be ripped along with the tune!                                        ∙
  399.  ║                                                                            ·
  400.  ╠═─═──══──════════─═══─══──═──── ── ─- ─ ∙ ·
  401.  ║
  402.  │                                                                            ·
  403.  ║                               CODING NOTES                                 ∙
  404.  │                            ▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀                              :
  405.  │                                                                            |
  406.  │ Yo coding-type dude!                                                       │
  407.  │ This section is geared more towards the seasoned coder, so skip this if    │
  408.  │ you're not!                                                                │
  409.  :                                                                            │
  410.  │ RAD's whole reason for being, is as a tool for writing tunes for use       │
  411.  | in intros.  To this end, the FULL player source-code for playing RAD       │
  412.  : tunes in your productions is included.  The format follows that            |
  413.  ∙ traditionally set by trackers on the Amiga.  Three routines are            :
  414.    provided:                                                                  .
  415.                                                                               ·
  416.        InitPlayer
  417.        EndPlayer
  418.        PlayMusic
  419.  
  420.    During your initialisation step in your intro, include a call to
  421.    "InitPlayer" with ES:0 pointing to a RAD module.  When you close down
  422.    your intro or want the tune to stop, call "EndPlayer".  Now to have the
  423.    tune play, you need to call PlayMusic 50 times a second for a tune
  424.    written in "normal timer mode" or 18.2 times a second (the standard PC
  425.    timer cycle) for a tune written in "slow timer mode".  You can check bit
  426.  · 6 of the byte at offset 17 in the RAD module to see which timer mode the
  427.  ∙ tune was written for.  If the bit is set then it is a "slow timer" tune.
  428.  :
  429.  | The "slow timer mode" was provided for those people that just want a
  430.  │ simple interrupt structure for playing the music, as the normal 50Hz rate
  431.  : requires a re-program of the hardware clock which may be needed as a
  432.  │ Vertical Refresh timer.  As a lot of intros provide support for calling
  433.  │ the system interrupt 18.2 times a second it is easy enough to add a call
  434.  ║ to PlayMusic there.  If you don't then you'll have to use one of the
  435.  │ Adlib timers to get a 50Hz or 18.2Hz reference signal for when to call
  436.  ║ PlayMusic during your Vertical Refresh interrupt.
  437.  ║
  438.  │ By pressing '*' in RAD you toggle normal and slow timer modes for the
  439.  ║ current tune.  HSC tunes are automatically loaded as slow-timer tunes
  440.  ║ for compatibility.
  441.  ║
  442.  ║ The provided player code was written as a real-mode player and to
  443.  ║ reference variables through CS: because I didn't want to use ASSUMEs
  444.  ║ which would replace any ASSUMEs you had set up in your main code.  Be
  445.  │ careful if you wish to remove the CS: overrides as the player uses DS:
  446.  ║ as a pointer to the tune file.  You will HAVE to remove the CS:            ·
  447.  ║ overrides if you wish to use the player in protected mode.                 ∙
  448.  │                                                                            :
  449.  ║ But then, that's the beauty of having the full source code to the          │
  450.  │ player - you can hack it around all you like to fit in with your code,     .
  451.  | something that OTHER tracker writers don't seem to realise with their      │
  452.  : .OBJ format players, WHEN they bother to release players for their         │
  453.  . trackers at all...                                                         │
  454.  ·                                                                            ║
  455.  . Oh...  If you DO use RAD or its player in your production, all we ask is   │
  456.  : that you give REALITY a mega-greet or credits somewhere! :-)               ║
  457.  |                                                                            ║
  458.  ├─═─══─═══─═─── ─── ── ─- ─ - ∙ ·                             · ∙ - ── ─── ─═╣
  459.  .                                                                            │
  460.  ·                                                                            |
  461.                             TECHNICAL SPECIFICATIONS                          :
  462.                          ▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀                       ∙
  463.                                                                               ·
  464.      RAD file format is as follows: (values in hex)
  465.  
  466.    █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
  467.    █ HEADER                                                                 █
  468.    █────────────────────────────────────────────────────────────────────────█
  469.    █ Offset  00..0F:"RAD by REALiTY!!" - Use this to recognize a RAD tune.  █
  470.    █                                     Just detecting the initial "RAD"   █
  471.    █                                     should be sufficient though! ;-)   █
  472.    █                                                                        █
  473.    █ Offset      10:BCD                - Version of RAD file.               █
  474.    █                                     Currently 10h for v1.0.            █
  475.    █                                                                        █
  476.    █ Offset      11:Bit 7              - Set if a description follows.      █
  477.    █                Bit 6              - Set if it's a "slow-timer" tune.   █
  478.    █                Bits 4..0          - The initial speed of the tune.     █
  479.    █                                                                        █
  480.    █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
  481.    █ DESCRIPTION                                                            █
  482.    █────────────────────────────────────────────────────────────────────────█
  483.    █ The description follows the header if Bit 7 of Offset 11h is set.  The █
  484.    █ description is a null-terminated string.  To save some space in the    █
  485.    █ tune file, the characters mean:                                        █
  486.    █                                                                        █
  487.    █ Char 00      - End of description (null-terminator)                    █
  488.    █ Char 01      - Move to start of next line (Carriage return)            █
  489.    █ Char 02..1F  - Output this many spaces                                 █
  490.    █ Char 20..FF  - Output this character                                   █
  491.    █                                                                        █
  492.    █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
  493.    █ INSTRUMENTS                                                            █
  494.    █────────────────────────────────────────────────────────────────────────█
  495.    █ Next come the instruments:                                             █
  496.    █                                                                        █
  497.    █ Offset      00:Instrument Number that follows (or 0 for end of list)   █
  498.    █                                                                        █
  499.    █ Offset  01..0B:The instrument definition in HSC .INS format:           █
  500.    █                                                                        █
  501.    █          ╔══════╦═══════════════════╦═══════════════════════╗          █
  502.    █          ║      ║                   ║ Adlib Register        ║          █
  503.    █          ║ Byte ║ Carrier/Modulator ║ (Relative to Chan. 0) ║          █
  504.    █          ╠══════╩═══════════════════╩═══════════════════════╣          █
  505.    █          ║  00  │  Carrier          │   23h                 ║          █
  506.    █          ║  01  │  Modulator        │   20h                 ║          █
  507.    █          ║  02  │  Carrier          │   43h - Instr. Volume ║          █
  508.    █          ║  03  │  Modulator        │   40h                 ║          █
  509.    █          ║  04  │  Carrier          │   63h                 ║          █
  510.    █          ║  05  │  Modulator        │   60h                 ║          █
  511.    █          ║  06  │  Carrier          │   83h                 ║          █
  512.    █          ║  07  │  Modulator        │   80h                 ║          █
  513.    █          ║  08  │  Both             │   C0h                 ║          █
  514.    █          ║  09  │  Carrier          │   E3h                 ║          █
  515.    █          ║  0A  │  Modulator        │   E0h                 ║          █
  516.    █          ╚══════════════════════════════════════════════════╝          █
  517.    █                                                                        █
  518.    █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
  519.    █ ORDER LIST                                                             █
  520.    █────────────────────────────────────────────────────────────────────────█
  521.    █ The Order List follows the instruments:                                █
  522.    █                                                                        █
  523.    █ Offset      00:Length of Order List (up to 128)                        █
  524.    █                                                                        █
  525.    █ Offset  01..nn:List of orders, one byte for each line:                 █
  526.    █                                                                        █
  527.    █                00..1F:The pattern to play.                             █
  528.    █                80..FF:The line to jump to minus 80h (Jump Marker)      █
  529.    █                                                                        █
  530.    █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
  531.    █ PATTERN OFFSET TABLE                                                   █
  532.    █────────────────────────────────────────────────────────────────────────█
  533.    █  For all 32 patterns there is a word in this table which gives the     █
  534.    █  offset from the start of the file of the pattern data.                █
  535.    █  If a pattern is empty then the offset is zero.                        █
  536.    █                                                                        █
  537.    █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
  538.    █ PATTERNS                                                               █
  539.    █────────────────────────────────────────────────────────────────────────█
  540.    █ Offset      00:Line number whose notes follow.  Bit 7 set means that   █
  541.    █                this is the last line.  Note, lines that have no notes  █
  542.    █                or effects on do not appear.                            █
  543.    █                                                                        █
  544.    █ Offset  01....:List of notes for that line:                            █
  545.    █                                                                        █
  546.    █              Offset     00:Channel no. note appears in (0 to 8).       █
  547.    █                            Bit 7 set means this is the last note for   █
  548.    █                            this line.                                  █
  549.    █              Offset 01..02:The note/effect for this channel.           █
  550.    █                            If the effect nibble is non-zero then       █
  551.    █                            Offset 03 contains the parameter, otherwise █
  552.    █                            the next channel starts at Offset 03.       █
  553.    █                                                                        █
  554.    █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
  555.    █ NOTES                                                                  █
  556.    █────────────────────────────────────────────────────────────────────────█
  557.    █ Notes occupy three bytes (two if the effect nibble is zero):           █
  558.    █                                                                        █
  559.    █           Byte 00:Bit    7:  Bit 4 of the instrument number.           █
  560.    █                   Bit 6..4:  Octave of note.                           █
  561.    █                   Bit 3..0:  Note (1-12) in this order:                █
  562.    █                              C#, D, D#, E, F, F#, G, G#, A, A#, B, C   █
  563.    █                              A zero denotes no note and 15 denotes a   █
  564.    █                              KEY-OFF.                                  █
  565.    █                                                                        █
  566.    █           Byte 01:Bit 7..4:  Bits 3 to 0 of the instrument number.     █
  567.    █                   Bit 3..0:  The effect nibble (the effect column      █
  568.    █                              in RAD is the hex equivalent of this      █
  569.    █                              nibble).                                  █
  570.    █                                                                        █
  571.    █           Byte 02:The parameter to the effect (if any).                █
  572.    █                   Because parameters only go from 0 to 99, bit 7 is    █
  573.    █                   not used, but may be used in a later version of RAD. █
  574.    █                                                                        █
  575.    █▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
  576.  
  577.  ╔═══─═══─══─═──═── ─── ─- ─ - ·                             · ∙ ─ ── ─── ─═─═╗
  578.  ║                                                                            │
  579.  ║ Last Words                                                                 ║
  580.  ║ ~~~~~~~~~~                                                                 ║
  581.  ║                                                                            │
  582.  ║ Well we hope you get a lot of use out of RAD.  Although RAD started        ║
  583.  ║ as a simple project by me (Shayde) it soon turned into something a lot     │
  584.  │ more complex and RAD would not be wot it is without the considerable       |
  585.  ║ input from all members of Reality.  The graphics and a lot of design       :
  586.  ║ ideas were put forward by Rogue (grafix artist) and Void (musician).       ∙
  587.  │ Because WE knew want we wanted out of a music development package, RAD     ·
  588.  ║ has evolved into something we are very happy to use for developing our
  589.  │ productions.  We hope you dudez also discover how to be RADical...!
  590.  │
  591.  |                                                                            ·
  592.  :    RAD woz Kiwi-coded in 100% assembler by SHAYDE                          .
  593.  ∙                                                                            :
  594.  ·    RAD's graphics were Oz-drawn in 100% ANSI by ROGUE and VOID.            │
  595.                                                                               |
  596.       Documentation by SHAYDE, Doc-Ansi by ROGUE.                             │
  597.                                                                               │
  598.    If you'd like to send us any of your quality tunes made with RAD,          ║
  599.    please do so, and we'll include them in the next release pack!             │
  600.    (Our contact address can be found within RAD)                              ║
  601.                                                                               ║
  602.    L8'er dudes!                                                               │
  603.                                                                               ║
  604.                                                                               ║
  605.                                                                               ║
  606.    · ∙ ─ ─- ── ─────┤ REALITY PRODUCTIONS - February 1995 ├────────═─══─═══─══╝
  607.  
  608.