Soundtracker V2.3
Text Inside this Production

Note: This Soundtracker is based on the MasterSoundtracker V1.0
      by TIP/PROPHETS and mainly on Soundtracker V2.2 by Unknown/D.O.C

Soundtracker V2.3 - A Quick Clarification.
------------------------------------------

Update         : April 1989.

Update done by : MnemoTroN.

Instructions   : Tracer and Unknown of D.O.C / Based on J.C.-Instructions
		 MnemoTroN.
-------------------------------------------------------------------------

Modifications by D.O.C:
-----------------------

		A sample sort function
		Corrected 'DisplayPattern' routine
		Corrected preset-editor
		Improved record function
		Extended keymap (Sonix style)
		Pattern play function
		Delete Song function in the dos menu
		Improved ANALYZER
		Pattern changing during play
		Pattern break command
		Position jump command
		Sample zero function 
		New playroutine for use in demos/intros/games
		Improved graphics (colors,styling,font)
		Nice scrolling
		Animated mousepointer
		Directory Sort function
		New Colors for the Analyzer
		Extension to 31 Instruments

Modifications by MnemoTroN:
---------------------------

		Scroll-Line removed
		Animated Mousepointer removed
		Extended DOS-Window
		Key-Help-Page
		Nice 'Sure?'-Requester
		Reinsertion of Length-,Repeat- and RepLen-Gadgets
		Lowpass-Filter is switched off
		Load Module
		Save Sample
		Format Disk
		Clear Song
		and some small details that must not be mentioned here

The Song.
---------

Any piece of music written with Soundtracker 2.3 is build up from patterns.
Soundtracker  holds  a  table  with information about the sequence in which
these parts must be played.  With 'Position' you determine your position in
the  table.   With  'Pattern'  you  define  what  pattern  to  play at that
position.  'Length' defines the total size of the table.  The full sequence
of Patterns is the Song.


The Keys.
---------

The  original  (V1.8)  version  of  the  Soundtracker  had a German keymap.
Version  2.3  supports a standard USA keymap and this ensures compatibility
with  ALL  Amigas.  The keyboard has been extended, try typing on the whole
key-rows.  The keys on your Amiga have been grouped to represent the layout
of  a  two- octave piano-keyboard.  You can "shift" the keyboard one octave
up  or down with the aid of the F1 and F2 keys, thus incrementing the range
of the keyboard to three octaves.

The Functions.
--------------

The  Soundtracker  V2.3  offers  many  functions  to  the  user to make the
development   of   music  as  easily  as  possible.   The  Play,  Stop  and
Edit-Functions  should  be  self-explaining.  Record allows you to record a
pattern  in real-time, but it is recommended that you better use the normal
Edit-Mode.   'Clear  Song' will erase all song- and sample-data from memory
after  a security-check.  'Use PSET' will load the selected sample into the
current  slot  and  'Disk  Op'  switches  to  the  DOS-Menu.   Here you can
Load/Save/Delete  Songs  and  Modules.   If you are into ripping music, you
will  find  the  'Save Sample' option useful.  Just select the sample to be
saved  (you  may  change  the  disk  and  name  by  simply  clicking on the
'sample-name'-line)  and  it  is  done!   'Format  disk' will do just that.
After  a  security-check you are asked for the volume-number.  Only numbers
will  be  accepted.   The  formatting will begin just after you entered the
number,  so  please  be  careful.   If  you  enter  '00', Soundtracker will
automagically create a song- and a module-directory.

While editing:
--------------
               Cursor-keys move cursor.
       shift + Cursor-keys move cursor fast.
         alt + Cursor-keys move cursor fastest.
               F6  - Set cursor to first line of pattern.
               F7  - Set cursor to 16th line of pattern.
               F8  - Set cursor to 32th line of pattern.
               F9  - Set cursor to 48th line of pattern.
               F10 - Set cursor to last line of pattern.
               DEL - Delete note under cursor.
       shift + F3  - Cut track of current pattern and copy into a buffer.
       shift + F4  - Copy track of current pattern into a buffer.
       shift + F5  - Copy buffer to track of current pattern.
         alt + F3  - Cut the whole pattern and copy into a buffer.
         alt + F4  - Copy pattern into a buffer.
         alt + F5  - Copy buffer to current pattern.

As  a  new feature, these commands can be reviewed at any time (except when
using the DOS-Menu) by pressing the HELP-key!

A  small  word  about  the  +/-  gadgets:   pressing  the  left  AND  right
mousebutton will in-/decrease the value faster !!

Sample sort function:
---------------------
Unknown  inserted  a special sort function in the load-song routine, so you
needn't be a D.J.  anymore.

Only  the  D.O.C-Soundtrackers  V2.1 to V2.3 will load ALL Samples from the
Disk 'ST-01', then from 'ST-02', then from 'ST-03' and so on.

Sample zero function:
---------------------
While  editing you're able to set the sample to the value zero (0!).  Press
both mousebuttons at the position of the samplegadgets (plus, minus = +,-).
Now  you  can  edit  the  pattern with the sample 0 to prevent difficulties
according to the volume (Frog's idea) !!!


Correct 'DisplayPattern' routine:
---------------------------------
The  'MasterSoundtracker  V1.0'  and  the  'D.O.C-Soundtracker V2.0' had an
incorrect 'DisplayPattern' routine !!!  The highest bit of the command- and
infobyte  had  been  deleted  on  screen,  but not in the memory !!!!!!!!!!
Unknown discovered this bug and removed it.

Example:           Entered -  E-2 C2FF   <=- Correct !
         Printed out later -  E-2 427F   <=- Wrong instrument and infobyte!
           Still in memory -  E-2 C2FF   <=- Correct !


Instruments.
------------
You  can use up to thirtyone different instruments in one music-piece.  All
instruments  are  listed  in the preset-list.  The volume is always 64, but
you  can  change  it  to  each value between 0 and 64.  To change the other
values  of  each  instrument  you have to load the preset-editor or use the
gadgets  in the program (this is only for small changes.  use the preset-ed
otherwise!).   With the PresetEd you can change the whole preset-list.  TIP
improved  the  preset-editor:  some values (Length, Repeat and RepLen) have
to  be  entered  in  hexadecimal  !!!   Now you can use samples up to $8000
(=32768) bytes !!!!  (Press right mouse-button to quit).

Unknown corrected the preset-editor:  It got a nice bug ! (Not TIP's fault)

Example: You've an  instrument called 'HeavySynth' in your preset-list, now
         you want  to INSERT an  instrument  with  the name 'Heavy'  in it.
         The preset-editor searches  for the word 'HEAVY' in the list, find
         the name 'HEAVYsynth' and  DELETES it to insert the name 'Heavy' !

Of course Unknown discoverd and removed this bug, too.


Notes:
------
               C#1  0 3 C 2 3
               /     /  |  \|
              /     /   |   Info
             /     /  Command
            /    Inst#
         Note to
         be played.



Note:     This is simply the note that is played with that particular
-----     instrument.

Inst#:    This is the number of the instrument that is used to play that
------    note.  When the  instrument number  is zero, the last selected
          instrument will be used.

Command:  This number tells Soundtracker what special functions shall be
--------  performed while playing the note.

These functions are as follows:

     0 - Normal play or arpeggio.
     1 - Portamento up.
     2 - Portamento down.
     A - Volume slide.
     B - Position jump.
     C - Set volume.
     D - Pattern break.
     E - Set filter on/off.
     F - Set speed.

Info:      This byte contains the additional information for the commands.
-----     

Arpeggio:  Arpeggio is used for simulating accords. This is done by rapidly
---------  changing the  notes while  playing an instrument.  Arepggios are
           selected  whenever the  info byte  has a  non-zero value  and no
           other command is selected.
           When arpeggios  are used,  Soundtracker looks  five times during
           the play  of one note,  at the information contained in the info
           byte. Each nibble  (4 bits) in this byte  defines how many notes
           Soundtracker must add to the the note currently played.  In each
           of the  five passes  Soundtracker  does  the following  with the
           information in the info byte:
       
	   0 - Play the current note (immediately).

           1 - Add the first nibble to the current note.

           2 - Add the second nibble to the current note.

           3 - Play the current note.

           4 - Add the first nibble to the current note.

           5 - Add the second nibble to the current note.

 
Portamento:  Portamento is used for  'sliding' the frequency of the sample.
-----------  If  portamento  is in use, the  information  contained in  the
             the info byte will be added to (or subtracted from) the period
             of the note playing in each of the five passes.

   Example:  D#2 3208  Slides down $08
             --- 0208  Slides down $08
             --- 0108  Slides up $08
             --- 0210  Slides down $10 (=16)
             etc.

   
Volume slide: This function  uses the same  parameters as Portamento except
------------- for that it changes the volume.

Position jump:
--------------
         The position jump command will  do the same like the pattern break
         command,  but the info byte  gives the playroutine  the no. of the
         position.

Example: E-2 3B04 - Break the pattern and jump to position 4
         --- 0000
         --- 0B06 - Break the pattern and jump to position 6


Volume:  One of  the enhancements  that the  V2.3 version  provides  is the
-------  ability to change the volume at any time during play.
         When command $0C (=12) is selected, the volume is set to the value
         contained in  the info byte.  The volume will remain at this level
         until the next SAMPLE is played. At this time, the volume is reset
         to the default volume level of that sample.

Example: C#1 1C22 - Set volume to $22 (=34) and use instrument # 1 to
                    play the C#1 note.
         D-2 0000 - Use instrument # 1 to play the D-2 note.
                    (Volume level remains at $22 (=34))
         B-1 1000 - Use instrument # 1 to play the B-1 note and
                    set volume to default value for that
                    instrument.

Pattern break:
--------------
         Pattern break is used to create shorter patterns than 64 notes.
         The note with the $0D command will be played and after that the
         next pattern in the position-table will be played.

Example: A#3 1D00 - At this point the pattern interrupts.
         --- 0D00 - same.
         C-1 0D30 - same.


Filter:  This Soundtracker version allows you to turn the lo-pass filter
-------  on/off.

Example: G#2 1E01 - Turns the filter and the power-led off.
         --- 0000
         E-1 1E00 - Turns the filter and the power-led on.

Warning  to  all  Amiga 1000 owners (like Unknown and Esteban):  Don't play
with  the  power-led  because  some A500 and A2000 owners will not be happy
when they hear your song.


Speed:   This function allows changing the speed during play.
------   You can only enter a speed from $01 to $0F.
         Setting the info byte to zero doesn't effect anything.
         The normal speed is 6.

Example: D-2 4F04 - Set speed to 4
         --- 0000
         E-1 0F00 - Nothing happens to speed.
         --- 0FC3 - Set speed to 3
         G-2 2F06 - Set normal speed

	 For your convenience the speed will now be set to 6 everytime you
	 load a song/module or clear the song.

The Playroutine.
----------------
The  Playroutine on the Soundtracker disk is for using your music in demos,
intros,  games etc.  It was written using the Seka-assembler and the source
of  the  routine  can  directly  be incorporated in your demo/intro source.
When  you are finished writing your music using D.O.C-Soundtracker, save it
to   Disk.   Use  the  function  'SAVE  MODULE'.   You  will  find  in  the
'MODULES'-DIR  a  file, which contains all songdata and samples.  Load with
SEKA  the  source  of the playroutine and enter the size of saved module at
the label 'mt_data'.  Assemble.  Now load the saved module to 'mt_data'.

How to play a song:
-------------------
At the beginning of your program, call the 'mt_init' routine.
Each vertical blank jump to the 'mt_music' routine.
To stop the song jump to the 'mt_end' routine.

---------------------------------------------------------------------------

ADDITIONAL INFORMATION:

- This Soundtracker-Version consists of ONE disk which should include the
  following files:
    - Soundtracker (V2.3)
    - Songplayer (V1.4)
    - SongPrinter (V1.1d)
    - PresetEd,PED!,PED!! (V1.1 by The BallCrackers)
    - PresetEd +
    - PLST (this is my (MnemoTroN) PLST and please do not ask for the
      samples because that are 13 disks!
    - MuzakRipper (by NorthStar)
    - Soundtracker Instruments Ripper (by Beastie Boys)
    - 'mod.echoing' and 'mod.my way to the stars' in the module-directory
      (my favourites!)
    - all DOC files in the 'Text'-Directory
    - the 31 Instruments Replay-Routine (also in 'Text')

----------------------------------------------------------------------------