SoundHakker 1.1 (and higher) Instruction File
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

     Revision    : 2.0
     Last Update : 30/03/93

                              Revision Information
                              ~~~~~~~~~~~~~~~~~~~~

     1.1  Improve disk routine error checking
          Modify search routines and STplayer interupt module

     1.2  Modify search routine to search for SOUNDTRAKS between &1000 and
          &A000 in normal RAM. This  is  so  that SoundHakker can be loaded
          into HACKIT or similar and used from therein!

     1.3  Modify  LOAD  routine   to   load   SoundTrakker  compiled  tunes
          (hereafter known as CSIT). These have a start address of &100 and
          slightly confused SoundHakker!.

     1.4 The LOAD routine now automatically recognises these and loads them
         to the correct place in RAM.

     1.5 NEW command  added  to  convert  COMPILED  soundtrakker  tunes  to
         SOUNDHAKKER flyback driven  tunes.  Because  of  the  way compiled
         interupt tunes work, the best thing to do with them is load them,
         convert them to SOUNDHAKKER format using the INTERMOD command.

         Compiled SoundTrakker Interupt tunes will not TEST correctly

     1.6 General bug fixes

     1.7 Improve SoundTrak information display routines

     1.8 Implement 'file address too low' error checking

     1.9 Add ERASE command to delete unwanted .STK files from disk

     2.0 Modify CATalogue command so that the 2k buffer at the end of
         SoundHakker was no longer required. Soundhakker will now search
         for longer Soundtraks. This is the final version (Honest Guv!).

                                   Disclaimer
                                   ~~~~~~~~~~

     All code content is copyright  the  Equalizor  who has kindly licensed
     STS Software as the sole  supplier  of  this  program to P.D Libraries
     authorised by him. This program  is  supplied  "as is" and neither the
     author nor STS Software  make  any  warranty  regarding it's operation
     either implied or otherwise.  Any  suggestions  regarding this program
     should be directed to STS Software,  who  will pass the details to the
     programmer.

                            Distribution Information
                            ~~~~~~~~~~~~~~~~~~~~~~~~

     The following P.D libraries and  software  companies are authorised to
     distribute this software :-

                    P.D Libraries            Software Houses
                    ~~~~~~~~~~~~~            ~~~~~~~~~~~~~~~
                      Robot P.D               Sentinel Software
                     Presto P.D               STS Software
                     Sheepsoft

     The following P.D libraries are  not  (and  never will be!) allowed to
       distribute SOUNDHAKKER at the personal request of the author :-

                            DARTSMA P.D, MERLINS P.D

             So, what's this "SOUNDHAKKER" program all about then ?
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

     The most flexible soundtracker for the  CPC (and plus) range of micros
     has been imported from Germany by Sentinel Software (081-876-7032).
     Because of it's power  and  flexibility,  it  seems  that most (if not
     all!), music in disk fanzines, and even some games (Zap 'T' Balls) use
     CPC SoundTrakker music.  The  wonderful  thing  about  a  lot of these
     programs is that they store the  music  in  the  extra banks on a 128k
     machine. This means that they survive a soft-reset, and this where CPC
     Soundhakker comes into it's own! Later versions of SoundHakker can now
     cope with music in the first bank of Ram too.

     CPC Soundhakker is a powerful utility  designed to hack the music from
     the extra banks and then  save  it  as  a  stand alone music file. CPC
     Soundhakker has the following specifications :-


                                 Specifications
                                 ~~~~~~~~~~~~~~

     * 64k (with Hackit / Le Hackeur) or 128k Traks.

     * Fast Machine code search routine.

     * Support  for  S-DOS,  MS800  (rom)  and  ROMDOS  high  capacity disk
       operating systems.

     * Dual Disk drive support

     * Command to convert frame  flyback  driven  music  routine  into a full
       interupt driven module (and vice versa!).

     * SoundTraks saved are all a very compact (6k) length

     * Bank switching commands built in (even on 464+64k RAM)

                            SoundTrakk Descriptions
                            ~~~~~~~~~~~~~~~~~~~~~~~
     Flyback Modules
     ~~~~~~~~~~~~~~~
     Start Address   : this is the address that resets the soundplayer
     Start Address+3 : this is the address that plays the next note
     Start Address+6 : this is the address that stops the tune, but
                       does not reset the tune pointer.

     Interupt Modules (as created by SoundHakker!)
     ~~~~~~~~~~~~~~~~
     Start Address    : This is the address that starts the tune playing
     Start Address+36 : This is the address that stops the tune playing

              Installing SOUNDHAKKER in HACKIT from Siren Software
              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

     1 - With the sound module in RAM, switch the hackit box on.

     2 - Type 'DISC' and press return twice

     3 - Type 'LOAD' and press return

     4 - Type in the filename DISC.BAS

     5 - Type CALL and press RETurn

     6 - Type &220 and press RETURN five times

     7 - SoundHakker will now sign on as normal!

                              Command Descriptions
                              ~~~~~~~~~~~~~~~~~~~~

     A
     ~
     Change disk drive to drive A

     B
     ~
     Change disk drive to drive B (large capacity formats supported)

     BANK
     ~~~~
     Changes the current extra RAM bank configuration. A value in the range
     0-4 should be  entered  when  prompted  for.  A  value  of  zero means
     "normal" CPC RAM. The BANK command  should be used before the FINDTRAK
     command, as soundtraks can be stored in either of the four banks.

     CAT
     ~~~
     Catalogues the currently logged disk drive

     CLS
     ~~~
     CLear the Screen. We decided not to award any prizes for this command.

     CLEAR
     ~~~~~
     Erases the current bank.

     ERASE
     ~~~~~
     This command deletes the file specified from the current disk.

     FIND
     ~~~~
     This  command  searches  through   the   current   RAM  bank  for  the
     SoundTrakker Module.  If  found  then  the  following  information  is
     displayed :-

     MOD Filename      :<#NONAME#>
     MOD Start         :#xxxx
     MOD Length        :#xxxx
     MOD found in bank :#x
     MOD driver type   :<Interupt or Flyback>

     The MOD filename will be <#noname#> until  the MOD is loaded or saved.
     The start address is the address  to  LOAD the module into from BASIC,
     or machine code. The  length  is  always  &1500  bytes  long. and this
     should cater for even the longest soundtraks!  The bank will be in the
     range 1-4 and  will  have  been  previously  selected  using  the BANK
     command. The driver type will  be  FLYBACK unless the INTERUPT command
     has been used.

     FLYBACK
     ~~~~~~~

     This command converts  interupt  modules  (either  SoundHakker  or ST-
     Compiled ones),  into  frame  flyback  driven  modules,  which  can be
     incorporated into your demos.  SoundHakker  has  difficulty in dealing
     with SoundTrakker compiled tunes,  but  will  load them quite happily.
     Once loaded  you  can  manipulate  it  with  the  standard Soundhakker
     commands.

     INFO
     ~~~~
     This command gives you information about the currently FOUND or LOADed
     soundtrak module. The information displayed is :-

     MOD Filename      :<#NONAME#>
     MOD Start         :#xxxx
     MOD Length        :#xxxx
     MOD found in bank :#x
     MOD driver type   :<Interupt or Flyback>

     INTERUPT
     ~~~~~~~~
     SoundTrakker modules that exist  in  demos  are  usually frame flyback
     driven, that is they are called every 1/50th of a second. This command
     lets you turn these  traks  into  full  interupt driven sound modules.

     After issuing this command the INFO command above is issued. This will
     give you revised SOUNDTRAK information, after SOUNDHAKKER has modified
     the soundtrak module. You should make  a  note of this information for
     when you wish to use these modules from BASIC, (or machine code!)

     Interupt modules layout  is  described  in  the SOUNDTRAK DESCRIPTIONS
     paragraph earlier in this document.

     To use an  interupt  module,  you  would  use  the  following  line of
     BASIC:-

     10 MEMORY start_address-1 : LOAD"sountrak.stk",start_address
     20 CALL start_ address    :'this starts the tune under interupt
     30 END
     40 CALL start_address+36  :'this stops the tune from playing

     Where start_address is the NEW  module  start  address, as given after
     issuing the INTERUPT command. To stop  the interupt module playing you
     should type GOTO 40 from BASIC.

     LOAD
     ~~~~
     This lets you load a previously  SAVEd SoundTrak module back into RAM,
     (for testing etc!). After LOADing, you are automatically given details
     about the soundtrak as shown by the INFO command above.

     Please note that should a LOAD  or  SAVE  operation fail in anyway the
     current soundtrak filename will default to #NONAME".

     SAVE
     ~~~~
      This lets you save the currently  FOUND  soundtrak as a 6k SOUNDHAKKER
     .STK file, which can be  loaded  into  BASIC  and  played. You will be
     prompted for a SAVE filename, which  should  be no more than 8 letters
     long. A saved SoundHakker file will have the file extension of ".STK"

     To play a  SAVEd  SoundTrakker  tune  from  BASIC  you  should use the
     following line of BASIC

     10 MEMORY start_address-1 : LOAD"sountrak.stk",start_address
     20 CALL start address     : 'reset the sound player module
     30 REM
     40 WHILE 1:CALL start_address+3:CALL &BD19:WEND

     TEST
     ~~~~

     Test will let you play the module currently found in memory. When the
     tune is playing you can press any key to stop it!

     QUIT
     ~~~~

     Resets the computer!


                              OPERATING PROCEDURE
                              ~~~~~~~~~~~~~~~~~~~

     1 - Type BANK, and enter 1 as the value

     2 - Type FIND and press return

     3 - If a SoundTrack not  found  error  occurs  then repeat steps 1 & 2
         until one is (if after selecting  the last bank (4) no soundtracks
         are found then, well  there  isn't  one  being stored in the extra
         Ram.

     4 - If a SoundTrak is  found,  details will be displayed regarding the
         START address, length  of  the  SoundTrak,  and  the  current bank
         number.

     5 - Note the details given as above, because you will need them later

     Saving a FLYBACK module
     ~~~~~~~~~~~~~~~~~~~~~~~

     6 - Type SAVE, then press RETURN

     7 - Type in an 8 letter filename and press RETURN

     8 - Select QUIT from the command line

     9 - Type in the following line of BASIC :-

     10 MEMORY start_address-1 : LOAD"sountrak.stk",start_address
     20 CALL start address     : 'reset the sound player module
     30 REM
     40 WHILE 1:CALL start_address+3:CALL &BD19:WEND

     A - Type RUN, and the tune will play quite happily until you press the
         ESCape key. To  stop  the  note  playing,  type  CALL &BCA7, which
         resets the sound manager

     B - SoundHakker should be  able  to  play  any compiled ST-Module. You
         will have to rename the EXTension (.bin or .mus) to ".STK".

                               Credits and Greets
                               ~~~~~~~~~~~~~~~~~~

     Richard Fairhurst - for help and advice, and being a good mate.

     Paul Fairman      - For encouragement and help, and the HUGE phone
                         bill.

     Richard Wildey    - For general help and advice.

     Matt Gullam       - Another mad CPC user (see Paul Fairman above!)

     K-OS              - For being a good contact!

     Amstrad           - For designing the CPC in the first place

     BSC               - For writing the SOUNDTRAKKER in the first place

     H.E Haxwell       - For general help and advice

     Derek Hyland      - Hi, don't forget the excellent advice I gave you!
                         (or YOU will NOT be welcome on the "szene" (sic!))

     Logon System      - Sorry to hear you're leaving the CPC!

     EGS               - Sorry to hear that you've coded your last game
                         (Prehistorik 2)

                                   AntiGreets
                                   ~~~~~~~~~~
                         See LIBRARY command in program

     If you have any comments on this software then please direct them to
     STS Software, at the above address. Thank You.