Format pliku używany przez program Chaos Music Composer. Plik .CMC jest dosowym plikiem, zawiera 6 bajtowy nagłówek DOSa.
Pierwsze bajty w pliku (pomijając nagłówek DOSa)
| Offset |
Opis
|
| $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ł)
|
| $255 - $2a9 |
2 ścieżka w SONG (2 kanał)
|
| $2AA - $2ff |
3 scieżka w SONG (3 kanał)
|
| $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,
- 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)
- Kolejne 2 bajty to mapa bitowa akcentów - kolejny bit, kolejny akcent w definicji obwiedni.
Definicja 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 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 - $19 |
Numer instrumentu który będzie odtwarzany (na kolejnej pozycji zawsze znajduje się numer nuty)
|
| $40 - $7E |
Numer nuty liczony w półtonach (od $C1 do $D6) plus wartość - $40
|
| $80 - $BD |
Ilość pustych linii między nutami plus $7F
|
| $FF |
Koniec patternu
|