
(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: 16*...
         - Samplelaenge (1 Word)
         - Repeatbeginn (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 (7 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  1 1 0 0 0  LINES OF ASSEMBLER-SOURCECODE.
 
 
prodatron/SYMBIOSIS, 19.11.1993
