From Atariki
Revision as of 10:27, 17 cze 2015;
view current revision←Older revision |
Newer revision→
Format pliku używany przez program Avalon Music Composer. Plik .AMC jest dosowym plikiem, zawiera 6 bajtowy nagłówek DOSu.
Pierwsze bajty w pliku (pomijając nagłówek DOSa)
Offset | Opis
|
$000 - $04F | Tablica adresów Patternów - młodsze bajty
|
$050 - $09F | Tablica adresów Patternów - starsze bajty
|
$0A0 - $0FF | Tablica definicji instrumentów
|
$0FF - $0FF | Tempo (globalne)
|
$100 - $1FF | Definicja obwiedni instrumentów (głośności i akcenty)
|
$200 - $254 | 1 ścieżka w SONG (1 kanał)
|
$255 - $2A9 | 2 ścieżka w SONG (2 kanał)
|
$2AA - $2FE | 3 scieżka w SONG (3 kanał)
|
$2FF - $2FF | Nieużywane (wartość $FF)
|
$300 - end | Dane patternów
|
Definicje instrumentów
- offset = numer instrumentu x 3
- Trzy bajty to wartości z górnej strony edytora instrumentów:
AB - nr obwiedni i akcent:
A - nr obwiedni (0..F)
B - akcent: 0..2=zniekształcenie 8, 3=czysty dźwięk; 0=C-6, 1=D-6, 2=D#3, 3=grana nuta
CD - zniekształcenie i rodzaj brzmienia oraz slajdy
C - zniekształcenie (tylko parzyste wartości) + na najmłodszym bicie "slide-down"
D - rodzaj brzmienia (0..3-jednokanałowe, 4..7-dwukanałowe) + na najstarszym bicie "slide-up":
0: standardowy
1: wibrujący
2: standardowy (?)
3: bas (stroi niżej)
4: dudniący
5: syntetyczny
6: filtrowany
7: czysty (stroi wyżej)
EF - transpozycja i delta:
E - transpozycja (w górę od tonu podstawowego)
F - głębokość wibracji lub odstęp między częstotliwościami dla dźwięków dwukanałowych
- Jeśli definicja instrumentu ma ustawione "slide up" (strzałka w górę), wtedy w drugim bajcie zostaje ustawiony 3 bit. (zwiększony jest o wartość 8)
- Jeśli definicja instrumentu ma ustawione "slide down" (strzałka w dół), wtedy w drugim bajcie zostaje ustawiony 4 bit, (zwiększony jest o wartość 16)
Definicja obwiedni i mapa akcentów
- offset = numer instrumentu x 16,
- kolejne piętnaście bajtów stanowi definicję obwiedni i akcentów od lewej do prawej strony:
AB -
A - $0=bez akcentu, $8=akcent
B - głośność ($0..$F)
- ostatni bajt to wybrzmiewanie: co ile ramek zmniejszana jest głośność instrumentu aż do osiągnięcia ciszy ($00=256 ramek, $FF=255, ... $01=1).
Dane ścieżek w oknie Song
Wszystkie ścieżki w oknie SONG zawierają numery kolejno odtwarzanych patternów, ale wartości z ustawionym 7 bitem (+ $80) są bajtami kontrolnymi:
Wartość | Klawisz w CMC | Opis
|
$8F | SHIFT S | STOP - zatrzymuje odtwarzanie songu ale instrumenty są odtwarzane do końca.
|
$9F | SHIFT J | JUMP - skacze do linii w songu - wartość pozycji jest w brana z 2 ścieżki. (na tej samej pozycji)
|
$AF | SHIFT U | UP - skacz w górę ileś linii - ilość linii jest brana z 2 ścieżki.
|
$BF | SHIFT D | DOWN - skacz w dół ileś linii - j.w.
|
$CF | SHIFT T | TEMPO - ustaw nowe tempo - wartość z 2 ścieżki.
|
$DF | SHIFT R | REPLAY - pętla odtwarzana n razy na m pozycjach w dół, n brana z 3 ścieżki, m - z 2.
|
$EF | SHIFT B | BREAK - zatrzymaj odtwarzanie danego songu i skacz do góry do pierwszej linii po napotkanej takiej samej wartości lub do początku songu.
|
$FF,$FE | | pusta pozycja - nie odtwarza na tej ścieżce żadnego patternu.
|
Dane Patternów
Wartość | Opis
|
$00 - $1F | Numer instrumentu który będzie odtwarzany (na kolejnej pozycji zawsze znajduje się numer nuty)
|
$40 - $7F | Numer nuty liczony w półtonach (od C-1 do D-6) plus wartość - $40
|
$80 - $FE | Ilość pustych linii między nutami plus $7F
|
$FF | Koniec patternu
|
Uwagi
- Bajt definiujący globalne tempo utworu nadpisuje parametr EF ostatniego instrumentu ($1F)!
- W pliku zapisywane są wyłącznie patterny zdefiniowane w utworze (adres $FFFF patternu w tablicy oznacza, że pattern nie jest zdefiniowany).
- Rozkazy w patternie zawsze występują w następującym porządku:
- zmiana instrumentu
- nuta
- puste linie
- koniec patternu
Jeśli któryś element nie występuje, to jest pomijany.
- Jeśli na końcu patternu znajdują się puste linie, wtedy i tylko wtedy znacznik końca patternu traktowany jest jako pojedyncza pusta linia.