


            SBStudio II
            (C) 1991-94 Henning Hellstrm
            All rights reserved


            Program documentation

            Programming the sheet

            


            The sheet section in SBStudio is where the music is
            made. It is located at the bottom half of page one,
            and looks something like this:


                    Edit cursor
                   
               ³Ŀ
                                                        
                                                        
                                                        
                                                        
                                                        
               Ĵ
             00-------000-------000-------000-------000
              Ĵ
              01-------000-------000-------000-------000
              02-------000-------000-------000-------000
              03-------000-------000-------000-------000
              04-------000-------000-------000-------000
              05-------000-------000-------000-------000
              ĳ ĳĳ
                Ĵ                       Ĵ
                       Parameter position            
                      Command position                
                      Volume position                  
                     Sound number position              
                    Note position                        
                 Sheet row number            One channel 
              Current row



            Use the grey arrow keys to navigate the edit cursor.
            Press TAB to jump to the next channel, SHIFT+TAB jumps
            to the previous.

            To edit the sheet, edit mode has to be engaged. Press
            SPACE to enter edit mode. The mouse cursor will turn
            blue to indicate that this mode is on.



            If you are standing at the NOTE POSITION, notes can be
            written to the sheet using the keys:


               2 3   5 6 7   9 0   =
              Q W E R T Y U I O P [ ]

                S D   G H J   L ;
               Z X C V B N M , . /


            They correspond to ordinary piano keys. 


            When entering notes, the current sound number will
            automatically be inserted at the SOUND NUMBER
            POSITION. To enter the sound number manually, go to
            the sound number position and enter a number from 1 to
            99. A zero means no sound change, and is shown as two
            dashes.

            The current octave is selected by the keys F1-F4, but
            you may also edit it manually. Just go to the second
            character (the octave) at the NOTE POSITION and enter a
            number from 1 to 4.

            To delete a note and its sound number, press DELETE
            anywhere but at the volume position.


            Depending on the 'jump right' setting in EDIT setup,
            you will either be moved right or down after entering
            a number.



            The VOLUME POSITION is where you enter volume changes.
            The sound volume ranges from 0 to 64.

            To remove a volume setting, press DELETE when standing
            at the volume position.



              NOTE:

                Read the keyboard reference for a complete list
                of sheet editing functions.



            The COMMAND and PARAMETER POSITION is where the
            special effects and actions are set. To understand
            these, it is important that you know a bit about how
            SBStudio play back music.

            During playback, each sheet row of notes is serviced a
            certain number of times before moving on to the next.
            How many times each row will be serviced is controlled
            by you, and is called the SONG SPEED.
            The first time a row is serviced, any new sounds,
            volume settings and commands are set up and the notes,
            if any, are played. The rest of the row services deal
            with the special effects.

            The normal SONG SPEED, or number of services per row,
            is 6.



            Here are the different commands available in SBStudio.

            Each time a row of notes is serviced will in this list
            be referred to as A TICK.

            The COMMAND is a hexadecimal number from 0h to Fh.
            The PARAMETER is a hexadecimal number from 00h to FFh.

            Remember that just reading about the commands is not
            enough, you have to try them to fully understand them.



            The commands
            


            - Command <0> - Arpeggio (or none).

              Parameter <xy> - First and second halfnote
                               additions.

              Arpeggio is used to simulate chords. This is done by
              rapidly changing the pitch between 3 (or 2) different
              notes.

              Example:

                C-1 -- -- 047

                C-major chord: (C+E+G  or C+4+7 halfnotes).

                C-1 -- -- 037

                C-minor chord: (C+D#+G or C+3+7 halfnotes).



            - Command <1> - Frequency slide up.

              Parameter <xx> - Slide rate.

              Portamento up will simply slide the sample pitch up.
              You can not slide higher than B-4.



            - Command <2> - Frequency slide down.

              Parameter <xx> - Slide rate.

              Same as <1>, but this slides down instead.
              You can not slide lower than C-1.



            - Command <3> - Tone portamento.

              Parameter <xx> - Slide rate.

              Tone portamento slides the pitch toward a specific
              note. To start a tone portamento, use the command
              together with a note.

              Example:

                C-3 01 -- 000
                --- -- -- 000    Ok, the note C-3 is playing...
                G-4 01 -- 320    ...Let's slide it to G-4!
                --- -- -- 300    We're sliding at speed 20, 00
                --- -- -- 300    means 'continue sliding at old
                --- -- -- 000    speed'.



            - Command <4> - Vibrato.

              Parameter <xy> - Rate/depth.

              This command will add a vibrato effect to the
              current sound. The first parameter digit is the
              vibrato speed, the second is the depth.
              You only need to set the parameter once. To
              continue vibrating, set the parameter to 00.

              Use the command E4x to change the vibrato waveform.

              Example:

                C-4 01 -- 482
                --- -- -- 400



            - Command <5> - Volume slide, continue tone
                            portamento.

              Parameter <xy> - Volume slide rate, up/down.

              This is really two commands, <Axy> and <300>.
              See those commands for details.



            - Command <6> - Volume slide, continue vibrato.

              Parameter <xy> - Volume slide rate, up/down.

              This is really two commands, <Axy> and <400>.
              See those commands for details.



            - Command <7> - Tremolo.

              Parameter <xy> - Rate/depth.

              This command vibrates the volume. It acts just like
              command <4>, except with the volume instead of the
              pitch.

              Use the command E7x to change the tremolo waveform.



            - Command <8> - UNUSED.



            - Command <9> - Set sample offset.

              Parameter <xx> - High byte of sample offset.

              With this command, the sample starting point may be
              set. You have to use it together with a note.
              Set the parameter to 00 to continue using the old
              offset.

              Example:

                C-4 06 -- 920    20h=32, *256=8192, which is where
                                 sample 06 will start.
                D#4 06 -- 900    20h is used, because it was the
                                 last one set.



            - Command <A> - Volume slide.

              Parameter <xy> - Volume slide rate, up/down.

              This command either slides the sound volume up or
              down, depending on which parameter digit you use.

              Example:

                C-4 01 -- A0F    Slide the volume down fast...
                --- -- -- AF0    ...And back up again.



            - Command <B> - Jump to position.

              Parameter <xx> - Position 00h-7Fh.

              With this command, you may jump to another position
              in the song. Useful for 'restarting' the song at the
              end.



            - Command <C> - Note off.

              Parameter <xx> - Speed.

              This command only works with the GUS and MIDI OUT.
              If used on a MIDI OUT channel, it will send a note
              off MIDI command. If used on a GUS sound channel,
              the parameter will be used as speed for the volume
              ramping hardware to fade the volume down.



            - Command <D> - Sheet break.

              Parameter <xx> - Row 00-63 to start next sheet
                               from (decimal).

              This command will make the song jump to the next
              position, and start from sheet row <xx>. Remember
              that the parameter is in decimal!



            - Command <F> - Song speed.

              Parameter <xx> - 01h-1Fh = Ticks, or speed.
                               20h-FFh = Beats per minute.
                               00h     = Stop song.

              Standard speed is 6, standard BPM is 7Dh or 125.



            The E commands
            


            The <E> command is a bit special. It contains several
            subcommands, selected through the first digit in the
            PARAMETER setting. The second digit is the E command
            parameter.



            - Command <E0> - UNUSED.



            - Command <E1> - Frequency trim up.

              Parameter <x> - Factor.

              This command slides the sound pitch up just once.
              Great for making chorus effects.



            - Command <E2> - Frequency trim down.

              Parameter <x> - Factor.

              Does the same as command <E1>, except this slides
              the pitch DOWN.



            - Command <E3> - Glissando control.

              Parameter <x> - 0h=off, 1h=on.

              When glissando is enabled, tone portamento (command
              3 and 5) will slide in halfnotes.



            - Command <E4> - Set vibrato waveform.

              Parameter <x> - 0h=sine, 1h=ramp down,
                              2h=square wave.

              With this command, you may alter the vibrato
              waveform. It's great for making psycho-sounds.



            - Command <E5> - Set finetune.

              Parameter <x> - Finetune.

              This command lets you set the fine tuning from the
              sheet.

                Value     :  7  6  5  4  3  2  1  0
                Finetune  : +7 +6 +5 +4 +3 +2 +1  0

                Value     :  F  E  D  C  B  A  9  8
                Finetune  : -1 -2 -3 -4 -5 -6 -7 -8



            - Command <E6> - Sheet loop.

              Parameter <x> - 0h=loop start.
                              1h-Fh=loop count.

              This command lets you repeat a part of the sheet <x>
              times.

              Example:

                F-2 01 -- E60    Loop start
                G-2 01 -- 000
                A-3 01 -- 000
                D#1 01 -- 000
                E-4 01 -- 000
                C-2 01 -- E63    Repeat 3 times. Remember that the
                                 part will be PLAYED 4 times.



            - Command <E7> - Set tremolo waveform.

              Parameter <x> - 0h=sine, 1h=ramp down,
                              2h=square wave.

              With this command, you may alter the tremolo
              waveform.



            - Command <E8> - Pan control.

              Parameter <x> - Balance 0h-Fh, 7h=neutral.

              This command sets the channel's stereo balance.



            - Command <E9> - Retrig note.

              Parameter <x> - Ticks between retrigs.

              This command will wait <x> ticks, retrig the note,
              and continue doing so until the next row (for <SONG
              SPEED> ticks).



            - Command <EA> - Volume trim up.

              Parameter <x> - Factor.

              This command slides the volume up <x> points once.



            - Command <EB> - Volume trim down.

              Parameter <x> - Factor.

              This command slides the volume down <x> points once.



            - Command <EC> - Note cut.

              Parameter <x> - Ticks before cut.

              This command will wait <x> ticks, then set the sound
              volume to 0.



            - Command <ED> - Note delay.

              Parameter <x> - Ticks to delay.

              This command will wait <x> ticks before trigging the
              note.



            - Command <EE> - Sheet delay.

              Parameter <x> - Times to delay.

              This command will delay the sheet row <x> times.



            - Command <EF> - MIDI OUT toggle.

              Parameter <x> - MIDI channel 0h-Fh.
                              Same again=off.

              After using this command, any notes will be sent to
              the MIDI port as MIDI channel <x> data, together
              with program change and velocity, if any.

              Select the same channel again to return to normal
              mode.


            

