home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
modiromppu
/
modiromppu.iso
/
PROGRAMS
/
TRACKERS
/
SADT
/
SADT.DOC
< prev
next >
Wrap
Text File
|
1995-05-28
|
33KB
|
839 lines
▄▀▀▀▀▀▀▀▀▓▀▀▀▀▀▀▀▀▓ ▓▀▀▀▀▀▀▀▀▀▓▄▄
▓ ▄█▓▀▀▀▀ ▄████▄ ▀▀█ █ ▒▓█ ▒▓█ █
█ ▀▀▀▀█▄ ▐██ ██▌ ▓ █ ▓██ ▓██▀▀ █▄▄
█ ▄▄▌ ██▌ ██▓ ███ ▓ █ ▓██ ▓██ ▐▄▄ ■▓
█ ██▓ ███ ██▓ ███ ▓▄▓ ███ ███ ███ █
█ ██▓ ███ ███▄▄███ ▄▄▄▄███ ███ ███ █
█ ███ ██▓ ███ ██▓ ▐██ ██▓ ███ ██▓ █
█ ███ ██▓ ███ ██▓ ███ ██▓ ███ ██▓ █
▐▌▐██▒ ██▓ ███▒ ██▓ ███▒ ██▓ ▐██▒ ██▓ █
█ ▀█▓▄█▓▒ ███▓ █▓▒ ▀██▓▄█▓▒ ▀█▓▄█▓▒ █
▓■▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▓▄▄▄▄▄▄▄▄▓
──[ Surprise! Adlib Tracker v2.00 ]──
┌──────────────────────────────┐
│ │
│ Surprise! productions │
│ Adlib Tracker Version 2.0 │
│ >>> Beta Release <<< │
│ │
│ Erik Pojar, │
│ Siegfriedgasse 55 │
│ 1210 Wien │
│ Austria │
│ │
│ +43 1 2574457 │
│ epojar@stud1.tuwien.ac.at │
│ │
└──────────────────────────────┘
Page 1
Surprise! productions Adlib Tracker 2.0 Help file
-------------------------------------------------
Contents:
What's new in Version 2.0.......................2
General Stuff...................................3
The Main Menu...................................4
The Edit Mode...................................5
Making Music....................................6
The Instrument maker............................7
Command summary.................................12
File Format.....................................16
Last Words & Adress.............................18
This file was typed by Erik of Surprise! productions
What's new in Version 2.0 Page 2
-------------------------
There have been quite a lot changes from previous versions. Here are
the highlights:
- 90 x 30 characters textmode used. (VGA needed)
- General optical brush-up
- All 8 Oktaves of the Adlib can now be accessed
- Some errors in the handling of the effect commands were
removed. Now SADT SHOULD behave exactly like any Amiga-Tracker
- Now also supports the commands 4, 5 and 6. Commands 7 and E not :-(
- New file format (versions 7 to 9) which takes less space.
- Completely new Memory management. Free memory is shown
- now also supports BPM timing
- Default speed now is 125 BPM, speed 6
- Configuration menu lets you specify song-, instrument- and
module directory
- New edit functions
- Bugfix in the Amiga-Load function.
Now supports general 4-voice formats along with 6- and 8-voice
formats.
- Totally rewritten play routine in assembler.
- a totaly new and unique feature for the instrument handling was
implemented: The 'special arpeggio'. It let's you change the
frequency, volume and even the waveform of an instrument while
it's played.
General Stuff Page 3
-------------
In the whole program (and in this doc too..) some (quite common?) pre-
fixes are used:
[a] means the 'a' key on your Keyboard
[A] means the 'a' key + [Shift] on your Keyboard
[^A] means the 'a' key + [Control]
[@A] means the 'a' key + [Alt]
I'm not going to explain every obvious function of the Editor. For ex-
ample, I won't tell you that Alt-Save means 'Save Song'. It's all in the
Main Menu, so keep your eyes open!
This program should be keyboard driver independent. This means it should
not matter wether you use it with a german, english, french or any other
keyboard layout.
However, if you encounter some problems with the keyboard, switch to the
U.S. layout and everything should be just fine.
The Main Menu Page 4
-------------
The main menu is more or less self explaining, there are several functions
which are accessible through alt-key combinations or ctrl-key combinations.
For example Alt-L to load a song, or Ctrl-L to load an Amiga Module.
However there are a few functions which don't show up in the main menu:
* [@1]..[@9]: Toggle Channel on / off
Control P: Play from the beginning of the song
* Ctrl+Alt: Fast forewind when playing
Cursor Keys: Move around pattern
Tabulator: Jump to next Channel
Shift Tab: Jump to previous Channel
F5-F9: Jump to 1st, 16th, 32th, 48th, 63th line of pattern
PageUp/Down: Goto previous / next pattern
* Ctrl PgUp/Dn: Goto previous / next pattern (according to patternorder)
* [+],[-]: switch instruments.
Space: Toggle Edit / Menu mode.
In Edit mode, the border is blue.
Delete: Delete entry in current channel
R.Shift+Del: Delete entry selectively:
If the cursor is in the column for the notes, only
the note is deleted, if it's in the column for the
instruments, only the instrument is deleted, otherwise
the effects.
Shift F1: Shift Keyboard 1 Octave up
Alt F1: Shift Keyboard 1 Octave down
Control F1: Mark every 4th line (like in ScreamTracker..)
Shift F2: Toggle linefeed for editing effect commands
F2: Mark Block Begin
F3: Mark Block end (the block is not displayed)
F4: Paste Block
Shift F4: Paste Commands in Block
Control F4: Paste Notes in Block
F10 Release sustaining sound in current channel
Shift F5: Insert blank line in current channel
Control F5: Insert blank line in all nine channels
Shift F6: Delete line in current channel
Control F6: Delete line in all nine channels
Shift F7: Transpose current channel one halfnote up
Control F7: Transpose whole pattern one halfnote up
Alt F7: Transpose current Note up, and move to next
Shift F8: Transpose current channel one halfnote down
Control F8: Transpose whole pattern one halfnote down
Alt F8: Transpose current Note down, and move to next
F10 Release sustaining sound in current channel
F11/F12 Change BPM value
The Funcions marked with * are also available while playing a song
Note: The Control-S function (Save compressed song) is for internal
usage only. Sadt can NOT load compressed songs! So always save songs
uncompressed.
The Edit Mode: Page 5
--------------
The Edit mode let's you edit a song...
All of the above functions are available via hotkey... In fact most
of the functions are only available in edit mode. All the deleting,
transposing, etc. is not available in non-edit mode.
In non-edit mode you can still move around the patterns and play some
notes, but they won't show up in the patterns
Making music Page 6
------------
(this part of the doc is taken from the PT1.1 helpfile. I didn't see
the point in inventing it all again... ;-)
Any piece of music written with the SADT is built up from patterns.
Each pattern is built up from 9 tracks, one for each of the adlib's
audiochannels.
A pattern is 64 lines long. The magnified line is always the one you
edit. If you need shorter patterns, use the pattern break command.
A Track is built up like this:
32 C-3 01 C20
/ \_/ |/ \_/
/ / | \
Pos Note Instr. Effect command
The C-3 is the note being played at patternposition 32.
01 is the instrument number, and the three last digits are the
effect command, in this case, set volume to 20 Hex.
(C is the command, 20 the value)
Values for instruments and effects are always hexadecimal.
After you have edited all your patterns you have to determine the
pattern order. For that simply use the Order editor. Furthermore
you can define the length of a song, and a restart pos.
Here's an example:
Let's say you have entered three patterns (Numbers 0, 1 and 2) and
wanto to play the pattern 2 twice, then pattern 0 and finally
pattern number 1 three times. afterwards the music should start with
the second pattern 2 again.
Here's what to do:
Edit the Pattern order like this:
Position Pattern number
0 2
1 2
2 0
3 1
4 1
5 1
. .
. .
Set Songlength to 6, and Restart to 1.
To enter the notes SADT uses a piano-like keyboard layout.
Assuming you are using a US-Keyboard layout the keys would be:
High Notekeys:
2 3 5 6 7 9 0
Q W E R T Y U I O P
Low NoteKeys:
S D G H J L ;
Z X C V B N M , . /
The Instrument maker Page 7
--------------------
I'll just explain the basics how the FM chip works, I wont list all the
keys, just look at the menu that pops up.
Still there are a few special keys I'd like to mention:
[F10] Releases a sustaining Note
[F2] Copies the current Instrument into a buffer,
[F4] Pastes this buffer. (real handy if you need several very
similar instruments... just copy 'em, and then change 'em)
But now let's really get to the FM instrument maker
O.K. Here we go: The adlib has two operator cells for each voice (channel)
∙ The Carrier
∙ The Connector (often also called Modulator...)
Each voice can work in
∙ Additive Synthesis (Frequency Modulation = Off)
∙ Frequenzy Modulation (Freq. Mod. = On)
mode. When using Additive Synthesis, each operator produces it's sound and
plays it simultaneousely...
When using Freq. modulation, the Connector changes the sound of the Carrier
(yep! it modulates the sound.. that's why it's also called modulator... ;-)
O.K. here are the mere basics: for each Cell you must define:
∙ Attackrate (0-15, 0 = none 15 = fastest)
∙ Decayrate (0-15, 0 = none 15 = fastest)
∙ Sustain level (0-15, 0 = none 15 = fastest)
∙ Release Rate ( just guess what.... )
This is how it works: first theres nothing, then the tone rises with
the speed of the <attackrate> to it's total level.
Afterwards it drops with the speed of <decayrate> to it's <sustain level>
And then drops with the speed of <release rate> to zero again
If you set the flag
∙ Sustaining sound
to On, then the sound stays at the <sustain level> till the note is
released. (Just like when you keep a key pressed on an electric organ...)
To release a note press [F10]. Then the sound vanishes with the speed of
<release rate>
For each operator there are three possible waveforms: Page 8
0: Sinus ----
- -
/ \
/ \
---------------------\------------------/
\ /
- -
----
1: Half Sinus ----
- -
/ \
/ \
---------------------\------------------
2: abs(Sinus) ---- ----
- - - -
/ \ / \
/ \ / \
---------------------\/--------------------\
3: Sinus ? --| --|
- | - |
/ | / |
/ | / |
------------------------------------------
Volume
Of course, there's also volume control: volume ranges from 0 to 63
0 = silents (grin), while 63 = max. volume
Level Scaling
Used to control the volume. Level Scaling is a Value between 0 and 3.
0 means, that the volume of the sound is not changed, while values >0
mean, that higher tones are played at a lower volume. If you set
Level Scaling to 3 (which is the max), the volume drops 6db each octave.
Frequency Multiplier:
specify a value between 0 and 15. That's the multiplier for the frequenzy. If you set it to 15, you'll get really high pitch tones..
If you set it to 1, you get 'the real' frequency. If you set it to 0,
the frequency is multiplied by 0.5
Tremolo:
If you set this flag to On, the Amplitude is changed in Vibrato-Style..
Vibrato:
Also a flag. Set it to On, and you've got frequency vibrato..
Sustainig Sound:
described above.
Scaling: Page 9
If this flag is set to On, higher tones sound shorter...
Freq. Modulation:
If this flag = Off, additive synthesis is used.
If it's set to On, freq. modulation is used.
Feedback:
Define the strength of the feedback (values 0..7)
Now. That are the standard parameters of the Adlib-FM chip.
But with SADT 2.0 I introduced a new feature:
>>>> the special arpeggio <<<<
The idea was change both the frequenzy and waveform of an instrument
while it's played.
The Special arpeggio is controlled by these values:
<Arpeggio>: is a pointer to the arpeggio list
<Arpeggio speed>: the speed at wich the arpeggio is executed.
Set <Arpeggio> to a value > 0 to turn the spec. arpeggio on.
To define the special arpeggio you have to edit the special arpeggio
list. Press [@E] to enter the sepcial Arpeggio editor.
There are two columns:
Halfnote add:
here you place the half-note add values just like with the
arpeggio command (0)
Halfnote adds range from 0 to 96
If you place a value >= 100 it's not treated as a halfnote add
but as an absolute note. There are 8 octaves with 12 halfnotes
each => 96 notes all in all.
If you enter 112 in the half-note add column, this would be
the absolute note 112-100 = 12 (which is a C-1).
O.K. Absolute notes range from 100 to 195.
Page 10
Command:
Here you place special commands or different waveforms
These commands are available:
255 stop special arpeggio
254 arpeggio loop. The arpeggio continues at the line which
is entered in the halfnote add column
253 Release note. Releases a sustained sound
252 Set Volume. Sets the volume to the value in halfnote add.
Furthermore you can also change the waveform:
The new waveform =
(carrier waveform + 1)*10 + connector waveform + 1
if you set carrier or connector waveform to 0 everything stays
the same.
A few examples: (WF = waveform)
Value in Command column what it causes
--------------------------------------------------------
0 Waveforms don't change
44 Carrier WF = 3, Connector WF = 3
34 Carrier WF = 2, Connector WF = 3
12 Carrier WF = 0, Connector WF = 1
23 Carrier WF = 1, Connector WF = 2
20 Carrier WF = 1, Connector WF = unchanged
30 Carrier WF = 2, Connector WF = unchanged
4 Carrier WF = unchanged, Connector WF = 3
Page 11
That's all there is about the special arpeggio. It's a very powerfull
function. It let's you create very 'spacy' sounds....
O.K. here are a few documented examples:
Let's say you want to have a constant arpeggio of 4 and 7 halfnote adds.
with usual commands you would do it like this:
C-3 01 047
--- 00 047
--- 00 047
. . .
. . .
Here' show it's done with special arpeggio. Set <arpggio> to 1
Now edit the arpeggio list:
Line Command halfnote add
1 0 0
2 0 4
3 0 7
4 254 1 ( jump back to line 1 )
So, the big advantage is that you can do longer arpeggios:
1 0 0
2 0 1
3 0 2
4 0 3
5 0 4
6 42 3 ( also change waveform)
7 0 2
8 0 1
9 254 5 ( jump back to line 5 )
Remember that <arpeggio> is the pointer at which line to start in the
arpeggio list. So if it's set to 10, the arpeggio will start at line
10!
Well. That's it. I know that my explanations are a bit clumsy, but if you
experiment just a little bit, you'll see how it works..
Command summary Page 12
---------------
Commands supported by SADT / Trackers
Command # Trackers: Sadt:
0 Normal play / arpeggio Normal play / arpeggio
1 Slide up Slide up
2 Slide down Slide down
3 Tone portamento Tone portamento
4 Vibrato Vibrato
5 Tone Portam + Vol. Slide. Tone Portam. + Vol. Slide
6 Vibrato + Vol. Slide Vibrato + Vol. Slide
7 Tremolo *** NOT SUPPORTED ****
8 *** NOT SUPPORTED **** Release Sustaining Note
9 Set Sample Offset *** INTERNAL USE ***
A Volume Slide Volume Slide
B Position Jump Position Jump
C Set Volume Set Volume
D Pattern Break Pattern Break
E E-Commands *** INTERNAL USE ***
F Set Speed Set Speed
NOTE: The Commands 7,8,9 and E are removed if they are encountered
when converting an Amiga module.
It's no use to play with the command 7. It's simply not supported.
The commands 9 and E however, are used for internal data compression.
So please keep your hands off of it, unless you know how to handle
them. (And since Erik / S!P is the only one who knows what exactly
they do.... ;-)
0 - Normal play or Arpeggio
0xy : x-first halfnote add, y-second
Arpeggio is used to simulate chords. This is done by rapidly
changing the piych between 3 different notes.
Example: C-3 00 047 C-Major chord:
(C + E + G Or C+4+7 Halfnotes)
1 - Slide Up
1xx : upspeed
This simply slides the frequenzy up. This command is called
as many times as the speed of the song.
Example: C-3 00 103 1 is the command, 03 the speed
NOTE: Because of hardware differences the Amiga has different
frequenzy divisors than the adlib. This means that sometimes
(very seldom) frequenzy slides on the Adlib sound different
than on the Amiga.
2 - Slide Down Page 13
2xx : downspeed
This simply slides the frequenzy down. This command is called
as many times as the speed of the song.
Example: C-3 00 203 2 is the command, 03 the speed
NOTE: Because of hardware differences the Amiga has different
frequenzy divisors than the adlib. This means that sometimes
(very seldom) frequenzy slides on the Adlib sound different
than on the Amiga.
3 - Tone Portamento
3xx : up/down speed
Usage: Destination Note + 3 + slidespeed.
This command will automatically slide from the old note to
the new one.
You don't have to worry about which direction to slide, you
only need to set the slide speed. To keep on sliding, just
select the command 3 + 00
Example: A-2 00 000 First play a note
C-3 00 305 C-3 is the note to slide to,
05 is the slidespeed.
NOTE: Because of hardware differences the Amiga has different
frequenzy divisors than the adlib. This means that sometimes
(very seldom) frequenzy slides on the Adlib sound different
than on the Amiga.
NOTE: This command does NOT work with special arpeggio instruments.
so you'd better use commands 1 or 2 instead.
4 - Vibrato
4xy : x-speed y-depth
Example: C-3 00 481 4 is the Command, 8 is the speed
1 is the depth
To keep on vibrating, just select 4 + 00. To change the vibrato
you can alter the rate, depth or both.
5 - Tone Portamento & Volume slide
5xy : x-upspeed y-downspeed
This command will continue the current portamento and slide the
volume at the same time
Example: C-3 00 503 3 is the speed to slide volume down
C-3 00 540 4 is the speed to slide volume up
NOTE: This command does NOT work with special arpeggio instruments.
6 - Vibrato & Volume slide Page 14
6xy : x-upspeed y-downspeed
This command will continue the current vibrato and slide the
volume at the same time.
Example: C-3 00 603 3 is the speed to slide volume down
C-3 00 640 4 is the speed to slide volume up
8 - Release Sustaining Note
8?? : no parameters
This command releases a sustaining sound. It will then die off
at the decay rate set for the instrument.
Example: C-3 00 800 Play C-3 and release it immediately
The command ignores all parameters, so it's the same if you use
800 or, for example, 815. But it's recommended that set the
parameters to zero, cause I might cook up another use for this
command later....
A - VolumeSlide
Axy : x-upspeed, y-downspeed
Example: C-3 00 A03 3 is the speed to slide volume down
C-3 00 A40 4 is the speed to slide volume up
The slide will be called as many times as the speed of the song.
The slower the song, the more the volume will be changed on each
note.
B - Position Jump
Bxx : songposition
Example: C-3 00 B01 B is the command,
01 the songposition to continue at.
This command will also perform a Patternbreak. Please remeber
that the position must be entered as hex value.
C - Set Volume Page 15
Cxx : volume, 00-40
This command sets a new volume for the instrument. The volume
is a hex number. 40hex is 63 which is the maximum volume.
However, the adlib uses a logarithmic volume control while the
Amiga uses linear control. That means that if you set the volume
to 20 on the Amiga it's exactly half of the max. volume.
With an Adlib, a volume of 20 is already hardly hearable.
Therefore it's often needed to change the volume settings if
you convert an Amiga module.
Example: C-3 00 C10 C is the command,
10 is the volume (16 decimal)
NOTE: Set Volume sets the volume for both, the carrier and the
connector. This may alter the sound!
D - Pattern Break
Dxx : break position in next patt
This command just jumps to the next song-position, and continues
to play from the patternposition you sepcify.
Example: C-3 00 D00 Jump to the next song position and
continue play from pattern-line 0
C-3 00 D32 Jump to the next song position and
continue play from pattern-line 32
F - Set Speed
Fxx : speed (00-1F / 42-FF)
This command will set the speed/BPM of the song.
Values from 00 to 1F set the Songspeed.
Values from 42 to FF set the BPM.
Speed 00 stops a song.
NOTE: On the Amiga the BPM timing started with the value 20 instead
of 42, but due to the PC's timer chip values less than 42hex are not
possible.
File Format: Page 16
------------
Have you ever wondered how the files are built up? Well. here is the
file formats I use:
Offset Length (Bytes) Description
----------------------------------------------------------------------
0 4 'SAdT' These for bytes mark a Song.
4 1 Version number (currently 9)
5 465 The 31 Instruments
470 496 The 31 Instrument names
966 128 Patternorder
1094 2 Number of Patterns (NoP)
1096 1 Length of Song
1097 1 Restart Position
1098 2 BPM
1100 256 Arpeggiolist
1356 256 Arpeggiocommands
1612 576 Trackorder
2188 2 Aktive Channels Bits: 123456789xxxxxxx
2190 ???*192 Trackdata
Trackorder is an 64*9 array that points to the tracks.
Track 0 is a empty track (not saved).
each track is saved as follows:
64 lines of:
nnnnnnni iiiieeee ppppPPPP = 3 Bytes
(where n indicates a bit for the note,
i indicates a bit for the instruments,
e indicates a bit for the effect and
p/P indicates the effect-parameter bits.)
therefore 64*3 = 192 Bytes.
The Instrument Format: Page 17
Offset Length (Bytes) Description
-----------------------------------------------------------------------
0 11 Instrumentdata
11 4 Arpeggiodata
O.K. here's how the instrument data is built up:
Byte 1:
Bit 0: Frequenzy modulation / additiv synthesis
Bits 1-3: Feedback
Byte 2:
Bits 0-3: Freq. Multiplier ─┐
Bit 4: Scaling │
Bit 5: Sustaining Sound ├ Connector
Bit 6: Vibrato │
Bit 7: Amp. Vibrato ─┘
Byte 3:
just like Byte 2, just for the Carrier
Byte 4:
Bits 0-3: Decay Rate
Bits 4-7: Attack Rate Connector
Byte 5
Decy, Attack Carrier
Byte 6
Bits 0-3: Release Rate
Bits 4-7: Sustain Level Connector
Byte 7
Release, Sustain level Carrier
Byte 8
Waveform Connector
Byte 9
Waveform Carrier
Byte 10
Bits 0-5: Volume
Bits 6-7: Level Scaling Connector
Byte 11
Volume, Level Scaling Carrier
The Arpeggiodata consists of:
ArpeggioStart, ArpeggioSpeed, CurrentPos, SpeedCount, each value is a
byte long.
Last Words & Adress: Page 18
--------------------
Well. That's it
I guess I could go on for hours and hours, but enough is enough. I
gotta walk the dog, and then I'll go to bed.
If you have any suggestions for me how to enhance this program, then
just let me know.
I really appreciate the big feedback this program has caused. If you
have sent me a letter which I haven't answered yet, just hang on!
Thanks for supporting a lousy coder...
signed Erik / S!P, Vienna, 4.9.1994
Contact me:
Erik Pojar
Siegfriedgasse 55
1210 Wien
Austria (Europe) (Tel/Fax: +43 (1) 257 44 57)
email: epojar@stud1.tuwien.ac.at