AMC (format pliku)

From Atariki

Revision as of 10:27, 17 cze 2015; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

Format pliku używany przez program Avalon Music Composer. Plik .AMC jest dosowym plikiem, zawiera 6 bajtowy nagłówek DOSu.

Spis treści

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.
Personal tools