|
|
| Linia 1: |
Linia 1: |
| Plik .cmc jest dosowym plikiem , zawiera 6 bajtowy nagłówek Dosa.
| | {{disambig}} |
|
| |
|
| | | * [[Chaos Music Composer]] |
| | | * [[CMC (format pliku)]] |
| == Pierwsze bajty w pliku (pomijając nagłówek DOSa): ==
| |
| | |
| Offset:
| |
| | |
| *$00 - $12 Podpis - "Cmc Data File"
| |
| *$13 Tempo. (globalne)
| |
| *$14 - $53 Tablica adresów Patternów - młodsze bajty.
| |
| *$54 - $93 Tablica adresów Patternów - starsze bajty.
| |
| *$94 - $12f Tablica definicji instrumentów i mapa akcentów.
| |
| *$130 - $1ff Definicja obwiedni instrumentów (głośności) | |
| *$200 - $254 1 ścieżka w SONG (1 kanał w CMC) | |
| *$255 - $2a9 2 ścieżka w SONG (2 kanał w CMC)
| |
| *$2AA - $2ff 3 scieżka w SONG (3 kanał w CMC)
| |
| *$300 - end Dane patternów.
| |
| | |
| | |
| == Definicje instrumentów: ==
| |
| | |
| * offset = numer instrumentu x 6
| |
| | |
| * Pierwsze cztery bajty to wartości z prawej strony edytora instrumentów w CMC.
| |
| | |
| * Jeśli definicja instrumentu ma ustawione "slide up" (strzałka w górę w CMC) , 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ół w CMC) , wtedy w drugim bajcie zostaje ustawiony 4 bit, (zwiększony jest o wartość 16)
| |
|
| |
| * Kolejne 2 bajty to mapa bitowa akcentów - kolejny bit , kolejny akcent w definicji obwiedni w CMC.
| |
| | |
| | |
| == Definiticja obwiedni: ==
| |
| | |
| * offset = numer instrumentu x 8 ,
| |
| | |
| * kolejne osiem bajtów stanowią definicję - 16 połówek bajtu (nibble) o wartości (0-15) - od lewej do prawej strony , pierwszy dolny nibble , kolejny górny.
| |
| | |
| | |
| == 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 lini w songu - wartość pozycji jest w brana z 2 ścieżki. (na tej samej pozycji)
| |
| *$AF SHIFT U UP - skacz w górę ileś lini - ilość lini jest brana z 2 ścieżki.
| |
| *$BF SHIFT D DOWN - skacz w dół ileś lini - 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 pierszej lini 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 - $19 Numer instrumentu który będzie odtwarzany (na kolejnej pozycji zwsze znajduje się numer nuty)
| |
| *$40 - $7E Numer nuty liczony w półtonach (od C1 do D6) plus wartość - $40.
| |
| *$80 - $BD Ilość pustych lini między nutami plus $7F.
| |
| *$FF - koniec patternu
| |