B's Pro Tracker by Sorcerers

                            B's Pro Tracker   (BPT)

                                Version 0.05á3

                              Copyright 1990-1992
                                   Kim Heino

                              All rights reserved.


        Contents of this manual:

1       General information
2       Commands
2.2     Hotkeys
3       Setup
4       Technical information
5       Last words, version information
5.1     Last words
5.2     Version information


1       General information

        BPT is a music module editor and player for IBM PC and
        compatibles. It requires EGA or VGA display adapter and 256kB of
        memory. More memory (up to 640kB), VGA and a fast computer are
        recommended. BPT supports JDAC (or other D/A converter), Sound
        Blaster/ThunderBoard card (8086 and 80386 modes), Sound Blaster
        with MIDI interface, Roland MPU-401-compatible MIDI interface
        (Roland MT-32, Roland LAPC-1), Akai Professional Sampling
        Keyboard X7000 (with MIDI), Akai Professional Sampler S700 (with
        MIDI), BriteSounds' stereo-DAC card and the PC internal speaker.
        BPT can load BPM-modules, BPS-songs, BPP-patterns, BWC-samples,
        STM-modules, STS-songs, MTM-modules, MTS-songs and MOD-modules
        and it can save BPM-modules, BPS-songs, BPP-patterns,
        BWC-samples and MOD-modules,

        JDAC is a simple 8 bit D/A-converter to be connected to your
        parallel port. Also a product called Covox Speech Thing seems to
        be compatible with the JDAC. It is possible to use it with BPT.

        The internal speaker routine plays the modules only with 6 bits.
        It is IBM's fault! Another internal speaker playing routines,
        like RealSound, plays the samples just like I do. But BPT
        converts the 8 bit data to 6 bit in real-time to get the best
        result. Note that you can easily hang your computer by playing
        modules with too high PHertz.

        MPU-MIDI routine uses your synths original instruments. PHertz
        and IHertz doesn't affect to MIDI, the playing speed is always
        768 hertz. If you have Akai sampler you can dump some or all of
        the samples to Akai and BPT commands Akai to play them. Note
        that you can use Roland MT-32 / LAPC-1 and Akai simultaneus!
        IHertz should be near to some value Akai supports.

        Don't panic if you find some undocumented features in BPT. Just
        report them to me and they will be mentioned in the future

        And remember, if you want to get good background music buy

2       Commands

        Try everything! This is beta-version, you can't expect the full
        documents yet, do you?

        Just few things:

        BPT is buggy!

        Try all and see what happens. All the commands are found from
        the menus.

        You can specify the playing speed by changing PHertz (Alt-H).
        Trying to play too fast will hang your computer. But it also
        sounds better. My 386/33 plays in 25000Hz without problems.
        For PC, 4000Hz may be too much!

        Tempo (Alt-T) is given in BPM (Beats Per Minute) as in MIDI. If
        you change the tempo in moduledata (command "A") it is given in
        timebase-format (96=120BPM, 48=240BPM).

        Command A (set tempo), B (go to) and C (break) are the only
        supported commands at this time.

        First row is notes, then instruments, commands and note volumes.

        You can press enter to "Filename?"-prompt to get a list of the
        available files.


        |                                                          |
        |  00:                 00000B  100%  ----- -----  --  ---  |
        |  01: lzsynth.snd     10405B  078%  00435 10000  03  ---  |
        |  02: yeah            34594B  100%  ----- ----- *13  ---  |
        |  03: hihat           02045B  060%  ----- -----  10  C 4  |

           ^^  ^^^^^^^^^^^^    ^^^^^   ^^^   ^^^^^ ^^^^^ ^^^  ^^^
           1   2               3       4     5     6     78   9

        1 = Instrument number
        2 = Instrument name
        3 = Size in bytes
        4 = Volume (0-255%)
        5 = Loop begin offset, "-----" means no loop
        6 = Loop end offset
        7 = An asterisk means dump this instrument to Akai
        8 = MIDI channel for this instrument, "--" means none
        9 = Fixed note for this instrument, "---" means normal

        Program Changes per MIDI channels can be configured in

        And remember, Real Programmers do it in hex!

2.2     Hotkeys

        This is the list of the hotkeys:

        Key             Meaning
        Alt-1           Toggle track 1 on/off
        Alt-2           Toggle track 2 on/off
        Alt-3           Toggle track 3 on/off
        Alt-4           Toggle track 4 on/off
        Alt-A           Toggle arrange on/off
        Alt-B           Bosskey
        Alt-C           Copy
        Alt-G           Toggle trace on/off
        Alt-H           Change PHertz
        Alt-I           Change IHertz
        Alt-L           Load BPM-module
        Alt-M           Samples in memory
        Alt-O           Change output
        Alt-P           Play
        Alt-S           Stop playing
        Alt-T           Change tempo
        Alt-V           Change volume
        Alt-W           Save BPM-module
        Alt-X           Exit
        Backspace       Scroll one char left
        Ctrl-Backspace  Delete one noteline below the cursor
        Cursor keys     Move cursor
        DEL             Previous pattern
        ESC             Go to menus, last selected
        Enter           Next line
        F1              Edit notes
        F2              Edit orders
        F3              Edit sample names
        F4              Go to menus, File
        F5              Go to menus, Play
        F6              Go to menus, Edit
        F7              Go to menus, Samples
        F8              Go to menus, Options
        F9              Go to menus, SetUp
        F10             Go to menus, last selected
        INS             Next pattern
        PgDn            Move down fast
        PgUp            Move up fast
        Tab             Next channel / next samplerow

3       Setup

        You can specify the output in the command line. Type "BPT /?"
        for help. And there's a setup-menu in BPT's menu structure. All
        the setups can be saved with "Save setup"-command.

4       Technical information

        BPM/BPS file format version #01:

        Offset  Meaning
        0000    (32 char) Song/Filename
        0032    (byte) File type: bit 0-6 = file version
                                  bit 7   = song (0) / module (1)
        0033    (8 char) Tracker name
        0041    (word) Tempo hi
        0043    (word) Tempo lo
        0045    (word) IHertz
        0047    (byte) Signature hi
        0048    (byte) Signature lo
        0049    Instruments (0-1F)
                Offset  Meaning
                0000    (12 char) Filename
                0012    (word) Length
                0014    (byte) Volume
                0015    (word) Loop begin
                0017    (word) Loop end
                0019    (byte) bit 0-3 = MIDI channel
                               bit 4-5 = free
                               bit 6   = Dump to sampler (1)
                               bit 7   = Play (0)
                0020    (byte) 00-7F: Fixed note (00=None)
        0721    (16 byte) Program Changes for MIDI-channels
        0737    (byte) Patterns saved
        0738    (255 byte) Pattern orders
        0993    Extra infos
                Offset  Meaning
                0000    (byte) Number of bytes in info,
                               if zero then go to Pattern #0 name
                0001    (byte) Info type (00=Text)
                0002    (??? byte) Info
        ????    (10 char) Pattern #0 name
        [????]  Patterns
                Offset  Meaning
                0000    (10 char) Name
                0010    (word) Length
                0012    Notes
                        Offset  Meaning
                        0000    bit 0-3 = note (0=C, 1=C# ... 11=B)
                                bit 4-7 = octave
                        0001    bit 0-4 = instrument
                                bit 5-7 = volume bit 0-2
                        0002    bit 0-3 = command
                                          00 = No command
                                          01 = Set tempo (timebase)
                                          02 = Go to order
                                          03 = Jump to next order
                                          04 = Volume slide
                                          05 = Portamento down
                                          06 = Portamento up
                                          07 = Tone portamento
                                          08 = Vibrato
                                          09 = Sample Offset
                                          0A = Tone p. + Vol. slide
                                          0B = Vibrato + Vol. slide
                                          0C = Arpeggio
                                          0D = Tremolo
                                          0E = Misc. commands
                                               1x = Fineslide up
                                               2x = Fineslide down
                                               3x = Glissando control
                                               4x = Vibrato control
                                               6x = Pattern loop
                                               7x = Tremolo control
                                               9x = Retrig note
                                               Ax = Finevolume up
                                               Bx = Finevolume down
                                               Cx = Note cut
                                               Dx = Note delay
                                               Ex = Pattern delay
                                               Fx = Invert loop
                                bit 4-7 = volume bit 3-6
                        0003    bit 0-7 = command value
        [????]  In modules: Samples

        BWC's samplefile format is following:

        Offset  Meaning
        0000    The header, always letters "BJH"
        0003    (word) Digirate of the sample in hertz.
        0005    (word) Type of the sample.
        0007    The sampledata starts here. Or, if (type and 1)=1 then
                0007    (word) Loop begin offset.
                0009    (word) Loop end offset.
                0011    Begin of real sample.

5       Last words, version information

5.1     Last words

        This program has no copy protection. Only thing is your name
        displayed after exiting. It can be changed, but remember, it is
        not the only one. It is crypted all over the EXE file too.

        If you have ideas, have found some bugs, or anything, contact
        me. See BPTREG.DOC for more information.

        Thanks to...
        Patrick Aalto, David Komatsu, Tapani Salmi, Tomi Aarnio, Tomi
        Engdahl, Veli-Pekka Suuronen, Jari Ahmavuo, Timo Haanp„„, Timo
        Sepp„l„ and BriteSounds.

        To keep lawyers happy...
        IBM PC, XT and AT are registered trademarks of International
        Business Machines Corp.
        RealSound is a registered trademark of Steve Vitzel.
        Sound Blaster is a registered trademark of Creative Labs, Inc.
        AdLib is a registered trademark of Adlib Inc.
        DESQview is a registered trademark of Quarterdeck Office
        Akai Professional Sampling Keyboard X7000 and Akai Professional
        Sampler S700 are registered trademarks of Akai Electric Co, Ltd
        Roland MPU-401, Roland MT-32 and Roland LAPC-1 are copyrights of
        Roland Corporation.
        BWC is a copyright of Kim Heino and Arttu Kontkanen.
        MidiTracker is a copyright of Patrick Aalto.
        ScreamTracker is a copyright of Sami Tammilehto.

5.2     Version information

        v0.02   This is the first released version. Some bugs, lots of
                missing stuff. But I had to release it now or never.
        v0.03   Bugfix: Changing PHertz after loading the module didn't
                        change instrument table correctly.
                Sound Blaster's IO-address can be configured.
                Sound Blaster's 80386-mode added.
        v0.04   Better MOD-loader (still buggy?).
                EGA-support added, see command line parameter /E.
                Editor to Sample/Memory added.
                Runs correctly under DOS 5.
        v0.05á  MIDI player added.
                Roland MPU support added.
                Akai sampler support added.
                BriteSounds' stereo-DAC card support added.
                MTM- and MTS-loader added.
                Sample/Program added.
                Sample/Memory and file format changed to support MIDI.
                Sound Blaster check added.
                Play/Play Repeat added.
                Volume slide command added.
                Portamento commands added.
                Limits to PHertz.
                Better STM- and MOD-loader.
                Bugfix: Go to order command.
                Bugfix: Change IHertz.
                Bugfix: Load instruments.
        v0.05á2 Save Amiga's MOD command added.
        v0.05á3 Mouse support added.
                Sound Blaster's MIDI player added.
                Scope added.
                Vibrato command added.
                Sample offset command added.
                Tone portamento + volume slide command added.
                Vibrato + volume slide command added.
                Fineslide up command added.
                Fineslide down command added.
                Vibrato Control command added.
                Finevolume up command added.
                Finevolume down command added.

        To do:  Arpeggio command.
                Tremolo command.
                Retrig note command.
                Glissando control command.
                Note cut command.
                Note delay command.
                Pattern loop command.
                Pattern delay command.
                Tremolo control command.
                Invert loop command.
                MIDI transpose.
                MIDI in.
                Record mode.
                AdLib player.