_____ ___ _________ ___
/ _ ç / /ç / ______/ç / /ç __
/ / ç ç / / // / _____ç// / /______ ù __ù
/ / / /ç / / // / / /ç / / //_____/ç ù . __ù
/ /__/ / // / // /__/ / // / / ç_____ç/
/________/ //__/ //________/ //__/ /
ç________ç/ ç__ç/ ç________ç/ ç__ç/
_________ _______ _________ _________ ___ ___ _________ _______
/__ ___/ç/ ___ ç / ___ /ç/ ___ /ç/ /ç / /ç/ ______/ç/ ___ ç
ç_/ /ç__ç/ /__/ /ç/ /__/ / / / /__/ / /__/ / / /______ç/ /__/ /ç
/ / / / _ __/ / ___ / / / _ç_ ç/ _ __/ / ____/ç / _ __/ /
/ / / / / ç ç ç/ /ç_/ / / /__/ /ç/ / ç ç ç/ /____ç/ / / ç ç_ç/
/__/ / /__/ //__/ç/__/ //__/ /________/ /__/ //__/ç/________/ç/__/ //__/ç
ç__ç/ ç__ç/ ç__ç/ç__ç/ ç__ç/ç________ç/ç__ç/ ç__ç/ç________ç/ç__ç/ ç__ç/
DIGITRACKER 1.3 - 16 KHZ 3 CHANNEL MONO 8 BIT SAMPEL TRACKER - 128K CPC (PLUS)
_______________________________________________________________
/ ç
/ ALL CODE'N'DESIGN 1993 BY PRODATRON / SYMBIOSIS ç
/ ç
/ THIS PROGRAM IS ç
/ __ __ __ __ __ __ __ ç
/ ù__ ù__ù ù__ù ù__ù ù__ ù ù ù__ù ù__ù ù__ ç
/ __ù ù ù ù ù ù ç ù__ ù_ù_ù ù ù ù ç ù__ ç
/ ç
ç THAT MEANS, THAT IT IS FREE TO COPY, /
ç PUT IT INTO YOUR SOFTWARE-LIBRARY, SPREAD IT, BUT IF /
ç YOU USE IT, YOU SHOULD SEND A DONATION OF 10DM, 4P, 6$ OR 30F TO /
ç /
ç JOERN MIKA, BERGSTR. 128, 47443 MOERS, GERMANY /
ç /
ç BUG-REPORTS AND MODULE SWAPPING ALSO WELCOME ! /
ç_______________________________________________________________/
UPDATE-INFORMATION
_______________________________________________________________________________
What's new in this version (1.3)?
- more powerful sample-editor:
============================
plot samples, change their lenght, kill them directly in the editor, cut out
a chosen area, copy samples, change the volume (now in %), change Octaves,
mix samples, combine them, backward them, smooth sample, create an echo-
effect
- other menu-organisation at two points
- volume-stop-parameter (at which the c-commands behave like a stopper) will be
saved together with th module.
- E60 behaves like a E5-command
- all known bugs from v1.2 are removed (b-3 is played correct on PSG, no over-
flow with the 'Slide Down' Commando, it is possible to set 'Volume-Transfer'
to 'YES' in the mod-converter)
__ __ __ ___ __ __ __
ù ù ù__ ù__ ù__ù _ ù ù ù ù__ù ù ù ù ù ù__ù ù
ù__ù __ù ù__ ù ç ù ù ù ù ù ù ù__ù ù ù ù__
0.) SMALL INTRODUCTION:
_______________________________________________________________________________
DIGITRACKER now makes it possible: Creating and playing sounds, which are based
on digital intruments (samples).
Some facts......
- 64512 bytes free for samples
- 34 pattern (when pattern-lenght is set to 64)
- 16667 herz sampleoutput (Digiblaster)
- 14493 herz sampleoutput (Soundchip)
- 96 Songpositions
- 8 Bit-Digiblaster support for high-quality sound
- mostly Amiga-Protracker-effekt compatible, 17 effects (slides, vibratos, ar-
peggios, position-loops, sample-offset...)
- Powerfull sample-editor (echo, mix, smooth...)
- MOD-converter for amiga-protracker-modules, samples can convert 1:1 or 1:2,
so you can transform MODs with a maximum lenght of 161 KB!
- playercode-generator, createst the external player-routine at any point in
memory, so you can use DIGITRACKER-modules in your own proggs
- powerfull playerroutine, any startposition, interrupts-possible (so even DE-
MOS are possible!), colorequalizer, equalizing rasterbar and more...
- comfortable uniformity standard-user-desktop
- highspeed everywhere, because DIGITRACKER is written 100% in MCode
DIGITRACKER consists of 3 modules:
- The main-module, DIGITRACKER itself. In here you can edit or create new MDLs
(modules).
- The MOD-CONVERTER, which converts Amiga-Protracker-MODs to Digitracker-for-
mat, sample (Amiga, PC...) and CPC-MOD transfer is possible, too
- The PLAYERCODE-GENERATOR, which creates an external player-routine for Digi-
tracker-modules
1.) DIGITRACKER
_______________________________________________________________________________
The stearing of DIGITRACKER is uniformity everywhere. Use CURSOR-keys for choo-
sing and setting, COPY, RETURN or SPACE activates a function/option... All ope-
rations can be aborted by pressing the ESC-key. From sub-Menus you come back to
main-menu with ESC, too.
A module consists of two parts: the samples and the patterns. Any piece of mu-
sic written with DIGITRACKER is build up from patterns. Each pattern contains 3
tracks (voices), which hold the music itself (the notes and so on). The song-
list contains the sequence the patterns will be played. The samples are digital
sounds, they are used in the song like different instruments.
Sound-Parameters (in the big parameter-window):
-----------------------------------------------
SngPos - actual position in the song-liste.
Pattrn - pattern, which will be played at this position
Height - difference from the norm-height, in which the pattern will be played
(in halfnote-steps).
Lenght - song-Length. number of the positions in the song-list, which will be
played, until a repeat will be done
LoopTo - repeat-point (after playing the whole song-list)
Speed - playingspeed (delay in 1/50 seconds between two positions in a pattern
Out At - sound-output. A-C: sound will be given out through a channel of your
poor sound-chip. D: sound will be given out through the "digiblaster"
(a d/a-converter at the printer-port, which was present in the "cpc
amstrad international 8/9 1991") YOU SHOULD USE THIS LITTLE HARDWARE,
it brings you top sound-qualitiy!
Sampel - actual sample (for the pattern- and sample-editor)
Edit-Parameters (in the small edit-window):
-------------------------------------------
Pat - pattern, which is present in the pattern-editor window
Oct - octave, which is chosen for the pattern-editor
Buf - position in the copy-buffer
Len - number of positions in a pattern (lenght of the patterns)
Skp - number of positions, which will be skiped after setting a note/command...
in the pattern-editor
DISC OP. - discmenue:
---------------------
LOAD SONG - load a module (samples+patterns+songdatas), extension:MDL
SAVE SONG - save the module
LOAD SAMP - load sample, if there is still enough memory. extension:SMP
attention: old samples from DIGITRACKER v1.1 will not be accepted.
please save them with v1.1 as a mdl-file. this is loadable without
any problems.
SAVE SAMP - save sample
ERASE - kill module or sample from disc
DRIVE A/B - choose drive
USER - change user-number
hint:
After loading a mdl-file, the one in memory will be overwritten. only the pat-
terns which are standing behind the last pattern of the new song will survive.
So it is possible to merge songs.
PLAY SONG - play the whole module:
----------------------------------
DIGITRACKER plays the module (it starts at 'SngPos').
PLAY PAT. - play actual pattern:
--------------------------------
Only the pattern, which is presented in the editor, will be played.
EDIT SONG - edit actual pattern:
--------------------------------
Every pattern contains 3 tracks, every track stands for one of the three voices
(channels). Every track is subdivided into (norm: 64) positions. One position
has the following structure:
AAB CDEE
AA - note (C,C#,D,D#...)
B - octave (1-3)
C - sample-number, which should be played here
D - command-number
EE - command-parameters
instead of the note+octave (AAB) there can be nothing (---) or a stopper (RES),
which turns of a (perhaps) played sample in this voice.
to set a note, press one of the following keys...
ù chosen octave ù chosen octave + 1
--------+------------------------------+-----------------------------
note: ù C# D# F# G# A# C# D# ù C# D# F# G# A# C# D#
ù C D E F G A B C D E ù C D E F G A B C D E
--------+------------------------------+-----------------------------
key: ù S D G H J L : ù 2 3 5 6 7 9 0
ù Z X C V B N M , . / ù Q W E R T Y U I O P
commands:
-------------------------------------------------------------------------------
0xy - normal play or arpeggio (0-X-Y). X and Y in halfnote-steps. This command
will produce a one-channel chord.
1xx - slide up. this command slides the pitch up. XX is the speed. Big XX means
fast sliding.
2xx - slide down. this command slides the pitch down.
3xx - tone portamento. this will automatically slide from the old note to the
new (which has to stand before this command). XX is the speed (00 means
taking the speed from the last commando).
4xy - vibrato. Y is the numbers of steps up/down, X is the length of the steps.
Try it out yourself! (00 means taking the last parameters)
9xx - sample offset. With this you can begin a sample at any position. if xx=1D
the sample will be played from position #1D00.
Bxx - position jump. Pattern break + going on at the position xx (in hex!) in
the song-list.
Cxx - turn of volume (perhaps). If xx (in hex!) is equal or lower than the
volume-stop-parameter (in the setup-menu) this command will do the same
as a stopper ('Res'). No effect in the other case.
D-- - pattern break. pattern will be interrupted to go on in the next one.
Exy - E-commands: See below...
Fxx - song-speed: in hex!
5,6,7,8 and A are not used and haven't any consequences.
E-commands:
-------------------------------------------------------------------------------
E0x - change output-channel. X can be 0, 1 or 2 and stands for one of the three
soundchip-channels (A,B,C). If digiblaster is active, this command shows
no effects.
E1x - fine slide up. A large X means sliding at a slow speed.
E2x - fine slide down.
E4x - vibrato waveform. X=0: sine. X=1: ramp down.
E5- - loop point. set position for E6 command.
E6x - jump to loop. Jumps x-1 time to the point, which was setted by the E5-
command. That means, that the area between E5 and E6x will be repeated x
times. E60 works like the E5 command (sets loop point).
EDx - note delay. the note in front of this command will be played after x*1/50
seconds.
EEx - pattern delay. makes a break which takes as much time as you need, if x
positions would be played.
E3,E7,E8,E9,EA,EB,EC and EF are not used and haven't any consequences.
SONG LIST - edit song-list:
---------------------------------
The songlist consists of two splits. On the one side there are the pattern-num-
bers, which are played at these positions. On the other side, there are the
height-differences (in halfnote-steps) in which the pattern are played.
SAMPLER - edit samples:
-----------------------
The actual sample is ploted, his name, length, repeat-begin and repeat-lenght
are showed below. With cursor-keys you can change to an other sample or choose
a sample-parameter now. By pressing RETURN it is possible to change the chosen
parameter. DEL will set the parameter to zero (by pressing DEL over the Lenght-
Parameter you will clear the actual sample!). ENTER makes a copy of the sample.
If the sample-lenght isn't zero, you enter the Tools-Menu after pressing SPACE:
- CUT: will cut out a cooseable part within the actual sample
- VOLUME: change the volume of the sample (in percent, example: 200%: give the
sample the double of his loudness, 50%: half of his sound-volume)
- OCTAVE: shift sample one octave up ('U') or down ('D'). Octave up means
packing two sample-bytes in one (=> half lenght, that brings perhaps a qua-
lity loss), octave down means double every byte (=> no quality loss, but only
possible, when there is enough memory free)
- MIX: will mix two samples together, target is the actual sample
- BACKWARD: will backward the actual sample
- ECHO: creates an echo-effect. You have to set the volume, in which the echo
cames back (lower than 100% means, that the echo will become lower and lower,
higher than 100% give the echo more and more power) and the position,at which
the echo cames back at the first time.
- UNITE: combines the actual sample with the next one. After this, the next one
will be killed.
- SMOOTH: smoothes the actual sample. Makes the sample a bit deeper (deeppass),
very high frequences will thrown out. So the samples will be more softy...
PRINTER - makes a song dump
---------------------------
Print-Songdatas: YES means, that the module- (patternlist, Song-Lenght,...) and
sampledatas (name, lenght,...) will be printed out, too, NO means, that Digi-
tracker only makes a pattern-dump.
First/Last Pattern: the pattern-area, which DIGITRACKER have to print
Lines/Page: To get a correct form-feed, you should use this parameter (0 omits
a form-feed). If you use 12 inches paper, you should set this parameter to 72
(standard).
OTHERS:
-------
Setup - change several adjustments
- Ed:PlaySamples: normal: YES. In this case in the pattern-editor you will hear
the played samples, when you set notes or change octaves. NO omits that.
- Song-Transpose: General-height of the whole song in halfnote-steps. In 1:1
Amiga-transfered songs, song-transpose is set to 12 (1:2 => 0).
- Pattern-Lenght: number of positions in each pattern.
- Palette-Number: 0-7 screen-colors.
- TonStop At Vol: 0-63. Sets the limit, at which the C-Command behaves like a
stopper ('Res').
Memory
- Sample-Memory: How much is used for samples and how much is free. The samples
are stored in the 2nd ram-bank of your 128k machine.
- Patterndatas need...: If you want to use the Modules in your own proggs, this
is important: The number of bytes (all in hex!) the song needs in the first
ram-bank.
- Song needs...on Disc: Important when you save the module on disc...
Clear All - clear the complete song (patterns, samples und song-parameters)
Clear Pattern - clear all patterns and the song-list
Clear Samples - clear all samples
All three functions are saved with a request.
2.) MOD-CONVERTER
_______________________________________________________________________________
Today there are Amiga-MOD-Files (Protracker-Modules) by thousands. This part of
DIGITRACKER makes it possible to convert these modules into the MDL-Format.
First you have to transform the MOD-Files from Amiga/PC/... to CPC. This is no
problem with programms like DOS-COPY (Face Hugger production), which are able
to copy MS-DOS Disks to CPC.
Parameter (enter with TAB):
---------------------------
- Source/Destination Drive: A/B
- Sample-Transfer: 1:1 - direkt sample-transform (no quality loss). 1:2 - two
bytes will be packed to one, so the samples get the half of their original
lenght (=> long MODs can be converted in this way)
- Sample-Volumes: NO - the samples get their original loudness. YES - the sam-
ples get the volume, which was chosen in the MOD-File.
CONVERT MOD - convert Amiga-Protracker-Module:
----------------------------------------------
only possible, if the module hasn't too many patterns (>34), too many song-
positions (>96), too many samples (>16) or to big samples (together >63 KB when
converting them 1:1, >126 at 1:2 converting-mode).
In the other case first the patterns will be converted.MOD-Patterns have 4 Voi-
ces, so you have to decrease them to 3 voices (by mixing or removing). You can
do this for each individual pattern (take the 'per Pattern' option) or for the
whole song ('per Song' option).
Now you can remove one of the 4 voices by pressing 1 to 4 (only B,D and F com-
mands will be saved, if there is place in one of the other tracks) or mix
a voice into an other one by pressing 'M'. If mixing is chosen, you have to en-
ter the 'Sourc Voice' (1-4), which will be mixed in the 'Destination Voice' (1-
3). That means, that notes from the Source Voice will only taken, if there is
place for them in the Destination Voice.
Example: By Pressing M, 1, 2, the 1st channel will be mixed in the 2nd one
(which was the 3rd on Amiga, but now the 2nd, because the 1st was removed). M,
3, 2 will mix the 3rd into the 2nd (which was the 2nd before, too).
PRINT MOD - Making a Amiga-Protracker-Module Dump
-------------------------------------------------
This prints out an Amiga-Protracker-Module in the form you know from lame
amiga...
CONVERT SAMPLE - PC, Amiga oder Drumming-CPC Samples konvertieren:
------------------------------------------------------------------
Choose the sample-typ you want to convert so DIGITRACKER-SMP-format:
- VOC-Files: Samples, which are used on PC (Soundblaster).
- WAV-Files: PC-samples, which are often used in MS-Windows.
- SAM-Files: Amiga-samples.
- INS-Files: Samples used in 'Drumming-CPC', the tool from Face Hugger, which
should demonstrate the Digiblaster.
The parameter 'Sample-Transfer' will be noticed in here, too! (1:1 or 1:2)
If you want to convert amiga-samples ('SAM'), you have to enter there lenght
first, because with AmsDOS it isn't possible to find out the lenght of ASCII-
files.
CON.CPC-PROTRA. - convert CPC-MOD-files to MDL-format:
------------------------------------------------------
MODs, which was created with CPC-Protracker, will be converted to MDL-format
without any prblems.
3.) PLAYERCODE-GENERATOR
_______________________________________________________________________________
This one is able to create an external player-routine for DIGITRACKER-modules
at (nearly) any point in the memory (you can't use #4000-#7FFF or 0-#200).
The player-routine (its lenght is about 4KB) performs the following:
- load a module
- play the loaded module
ATTENTION: Don't use v1.1-modules ('cos of the 8-bit samples)! Load them with
Digitracker and save them again, than you can use them with the player-routine.
Now the description of the player-routine and how to use it. The offset-values
must be added to the start address of the player-routine to get the right
address. The following examples belongs to a player-routine, which starts at
&3000 (Anfadr=Startaddress of the player-routine).
(sorry, main-description in german, because I wasn't able to translate it...)
+ 00 => Load a module (in a basic-program)
CALL Anfadr+00 (,start-address)
-------------------------------------------------------------------------------
You have to open the module-file first (OPENIN"file"), then you can use this
CALL to load it to #5600 (if no 'start-address' is present) or to 'start-add-
ress'. That means, that the pattern-datas will be loaded to this address (in
the 1st ram-bank), the samples are loaded in the 2nd ram-bank always at #200.
(0-#200 in the 2nd ram-bank is used for tables and routines).
Don't load the pattern-datas to used areas in the memory!
Example:
OPENIN"SOUND.MDL":CALL &3000,&4000:CLOSEIN
Loads 'Sound.Mdl', the patterns will be stored at #4000.
+ 03 => Play a module (in a basic-program)
CALL Anfadr+03 (,optionbyte (,start/patternnumber))
-------------------------------------------------------------------------------
A loaded module will be played. If there isn't any 'start/patternnumber'(and no
optionbyte) DIGITRACKER take 0 for it automatically. 'optionbyte' is subdivided
into 8 bits:
Bit 0,1 => Output-channel: 0-2 => PSG (Soundchip) Channel A,B or C; 3 => Digi-
blaster.
Bit 2 => =0: Songplay. The complete module will by played ('start/patternnum-
ber' is the start in the song-list [='Songpos'])
=1: Patternplay. Only one pattern will by played. It is the pattern,
which is choosen with the 'start/patternnumber'-parameter.
Bit 3 => =1: turns on the equalizing rasterbar.
Bit 4 => =1: turns on the colorequlizer (inks 1,2 and 3 are used).
Bit 5 => =0: Copies the area from #100 to #200 behind the player-routine and
put it back after playing. DIGITRACKER uses this area while
playing (set this bit to 0 if you don't understand it all...)
=1: If you don't need this memory-area, you should set this bit to 1
(so the area behind the player-routine is free, now)
Bit 6 => =1: Requests the keys from f0 to f9. In the normal case, the player-
routine stops after pressing SPACE. If this bit is set to 1, the
routine stops when a f-key was pressed by the user, too! The
number of f-keys, which will be requested (and can be pressed),
is fixed in a value (read down the documentation). The pressed
f-key's number will be putted into another value (read down...)
Bit 7 => =1: enable interrupts. The player-routine has an own interrupt-hand-
ler. This becomes active, when this bit is set to 1. Every frame
there are 6 interrupts. The addresses of the 6 routines have to
be fixed in a table (read down...)
Exampls:
- CALL &3003,3 => output port is Digiblaster, nothing more.
- CALL &3003,1+4,3 => playes the 3rd pattern through channel B of the Soundchip
- CALL &3003,8+32 => playes through Channel A, Rasterbar is active and the area
from #100 to #200 will not be saved
- POKE &3000+12,5:CALL &3003,3+16+6:PRINT PEEK(&3000+13) => playes through Di-
giblaster with active colorequalizers, f0-f4 will be requested. After playing
the pressed f-key will be printed
- CALL &3003,128,10 => starts song at position 10 with enabled interrupts
+ 06 => Load a module (in a mcode-program)
HL=address
-------------------------------------------------------------------------------
Don't forget to oben the file before (with CALL #BC77) and close it after this
command (CALL #BC7A)!
+ 09 => Play a module (in a mcode-program)
A=Optionsbyte, B=Startposition/Patternnummer
+ 12 => Number of requested f-keys
-------------------------------------------------------------------------------
Value: Number of f-keys, which will be requested, if bit 6 of the optionbyte is
set to 1. Example: <5> means, that the keys f0,f1,f2,f3 and f4 will be re-
quest.
+ 13 => (indirect) number of the pressed f-key
f-key = byte 12 - byte 13
-------------------------------------------------------------------------------
After finishing the playing-procedure, you can ascertain the number of the
pressed f-key by this value (if bit 6 of the option byte was setted to 1).
Example: Value +12 (number of requested f-keys) is set to 5. After playing,this
value (+13) contains 2, that means, that the user has pressed f3 (=5-2). Try it
out yourself!
+ 14 => Escape-Byte
-------------------------------------------------------------------------------
After making a CALL Startadr+3 (Basic-Songplay) or a CALL Startadr+9 (MCode-
Songplay), this value is setted to 0. If its content changes during playing the
module (that is possible with interrupt-routines), the player stops. This fact
makes it possible to escape from the playing-procedure in an other way than
pressing Space (or pressing a f-key).
+ 15 => pen-number of the equalizing rasterbar (0-15, 16=border)
+ 16,17 => colors of the rasterbar and the area around it
-------------------------------------------------------------------------------
Don't use the basic-colors, use the (real) colors of your gate-array. The fol-
lowing table shows them:
00 - 84 04 - 88 08 - 77 12 - 94 16 - 71 20 - 83 24 - 74
01 - 68 05 - 93 09 - 86 13 - 64 17 - 79 21 - 90 25 - 67
02 - 85 06 - 76 10 - 70 14 - 95 18 - 82 22 - 89 26 - 75
03 - 92 07 - 69 11 - 87 15 - 78 19 - 66 23 - 91
+ 18-33 => colortable for ink-equalizer
-------------------------------------------------------------------------------
This table contains all colorvalues, which will be runned through when the ink-
euqalizer is active. Use the colors of the gate-array (table above).
+ 34-45 => addresses of all six interrupt-routines
-------------------------------------------------------------------------------
Here you have to put the six 16-bit addresses, at which the interrupt-routines
start (if bit 7 of the option-byte is setted to 1). (the six values contain the
address #000F, if you don't change them, so that DIGITRACKER always will make
a Call to #F (if interrupts are actvie). #F contains a RET command normally.
Some hints for the interrupt-routines:
- Don't change the index-registers (IX,IY). If you need them in your interrupt-
routines, save them first (PUSH, POP at the end...)
- Put a RET command at the end of your interrupt-routines.
- You can place the int-routines at every point in the 1st ram-bank (not from
#100 to #200).
- Every interrupt-routine (they are six) will be called one time in a 1/50 se-
cond.
- For democoders, the following could be important: The 1st of the 6 routines
gets the interrupt, which comes directly after the frame-fly. The following
interrupts will be allocated to the other routines in the right sequence.
- Don't make too long interrupt-routines! 10 rasterlines are the absolutely ma-
ximum.
- As more cpu-time the int-routis need, as deeper and slower will be the sound-
output!
- If interrupts are enabled, the area from #100 and deeper will be used for the
stack-pointer!
4.) AUFBAU DER MDL-DATEIEN (MODULE)
_______________________________________________________________________________
(sorry guys, only in german!)
Die Song-Module (MDL-Files) liegen im ASCII-Format vor und bestehen aus zwei
Bloecken:
- Der erste Block enthaelt den Datenkopf (Songname, Laenge, Songliste usw...)
und die Pattern. Dieser wird immer in die erste Ram-Bank geladen.
- Der zweite Block besteht aus den in der angegebenen Reihenfolge hintereinan-
derliegenden Samples.
Die ersten beiden Bytes geben die Laenge des ersten Blockes an, Bytes 3 und 4
die Laenge des zweiten Blockes. Die Laenge des ersten laesst sich mit folgender
Formel ausrechnen:
Laenge = 512 + 9 * Patternlaenge * Patternanzahl
Die Laenge des zweiten Blockes erhaelt man, wenn man die Laengen aller Samples
addiert.
Dahinter folgt direkt der erste Block.
1. Block: Song-Kopf und Pattern
-------------------------------
- Songkopf: Dieser ist 512 Bytes gross und folgendermassen aufgebaut:
+ 000 => Modulname (8 Bytes)
+ 008 => Namen der 16 Samples, auch jeweils 8 Bytes
+ 136 => Songliste 2*96 Bytes. Das erste Byte gibt jeweils die Patternnummer,
das zweite die Hoehe (Transposewert in Halbtonschritten, normalerweise
0) an
+ 328 => Sampledaten: 8*...
- Samplelaenge (1 Word)
- Repeatbegin (1 Word)
- Repeatlaenge (1 Word).
+ 424 => Songlaenge (1 Byte).
+ 425 => Patternlaenge (1 Byte) kann 1-99 sein. Normalerweise 64, gibt die An-
zahl der Positionen innerhalb eines Pattern an
+ 426 => Loop To (1 Byte). Position in Songliste, zu der nach Songende gesprun-
gen wird
+ 427 => Songspeed. Frames zwischen zwei Noten (normalerweise 6)
+ 428 => Songtranspose, liegt zwischen 0 und 12(in Halbtonschritten).
+ 429 => Modul-Version. 0 bedeutet, dass die Samples in diesem Modul in 8-Bit
vorliegen, Bei 7-Bit Samples (neue Version) steht hier eine 1.
+ 430 => Volumeuntergrenze. Gibt an,ab welchem Wert sich das C-Kommando wie ein
Stopper verhalten soll.
+ 431 => Ab hier sind alle Bytes bis Offset 511 unbenutzt und daher 0. Sie sind
fuer eventuelle Erweiterungen vorgesehen
- Pattern: Hier folgenden die Informationen fuer die belegten Pattern. Jede Po-
sition (normalerweise gibt es davon 64 pro Pattern) besteht aus 3*3 Bytes (3
Bytes fuer jeden der drei Kanaele). Die drei Bytes pro Kanal haben folgende
Bedeutung:
- 1 => Note. 0 bedeutet nichts ('---'), 1-36 stellen die Noten fuer die 3 Ok-
taven dar (1=C-1,2= C#1,3=D-1,....35=A#3,36=B-3), 37 steht fuer einen
Stopper ('Res')
- 2 => Das Highnibble dieses Bytes gibt die Samplenummer an,das Lownibble die
Effectnummer.
- 3 => Die beiden Nibbles dieses Byte geben die genaue Spezifizierung des Ef-
fekts an.
2. Block: Samples
-----------------
Der 2. Block, der direkt hinter dem ersten steht, enthaelt die Sampledaten. Die
Samples liegen in der vorgegebenen Reihenfolge hintereinander (8 Bit, Vorzei-
chenlos.
_______________________________________________________________________________
At this moment there are over 300 DIGITRACKER-modules. If you are registered,
you will get the complete module-list by requestion. You get all modules you
want, if you send me back-postage and disx.
DIGITRACKER CONSISTS OF NEARLY 1 1 0 0 0 LINES OF ASSEMBLER-SOURCECODE.
Thanx and Greetz to:
- BSC fuer Verbesserungsvorschlaege und 'ne Menge Small-Talks ueber Digisound
- MADE: hope to see you soon at SymbiosiS
- KANGAROO MUSIQUE ebenfalls fuer Verbesserungsvorschlaege. Sorry, dass ich Dir
das Teil nicht zum Vertrieb gegeben hab, aber das lag wohl mehr an Dir...
- K-OS fuer Bug-Reports und die Module, die Du schon ruebergezogen hast
prodatron/SYMBIOSIS, 01.11.1993
________________________________________________________________
/ ______________________________________________________________/ç
/ /ç_____________________________________________________________ç/
/ / / / /ç/ /ç/ _ _ /ç/ __ ç / /ç/ __ /ç/ ____/ç/ /ç/ ____/ç
/ /_/_ / /_/ / / // // / / /_/ /ç/ / / /ç/ / / /___ ç/ / / /____ç/
/___ /ç/___ / / //_// / / __ / / / / / / / /___ /ç/ / /___ /ç
____/ / /ç__/ / / / ç / / / /_/ / / / / /_/ / /___/ / / / /ç__/ / /
/_____/ / /___/ /_/ / /_/ /_____/ /_/ /_____/ /_____/ /_/ / / / /
_ç_____ç/__ç___ç/ç_ç/__ç_ç/ç_____ç/ç_ç/ç_____ç/ç_____ç/ç_ç/___/ / /
/_______________________________________________________________/ /
ç_______________________________________________________________ç/
PRODUCTION 1993