CMC (format pliku)

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 23:45, 15 sie 2011
Mono (Dyskusja | wkład)
(linki do pochodnych)
← Previous diff
Wersja z dnia 14:31, 8 sty 2015
Mono (Dyskusja | wkład)
(Linki - CMS)
Next diff →
Linia 85: Linia 85:
* [[CMR]] * [[CMR]]
* [[DMC (format pliku)|DMC]] * [[DMC (format pliku)|DMC]]
 +* [[CMS]]
[[Kategoria:Atari 8-bit]] [[Kategoria:Atari 8-bit]]
[[Kategoria:Formaty plików]] [[Kategoria:Formaty plików]]

Wersja z dnia 14:31, 8 sty 2015

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

Spis treści

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

Uwagi

  • Sygnatura pliku CMC zawiera bajty: $a0,$e3,$ed,$e3,$a0,$e4,$e1,$f4,$e1,$a0,$e6,$e9,$ec,$e5,$a0. Jest to napis " cmc data file " w inwersie.

Za nią znajdują się bajty $8e,$95,$0d,$20 które razem z ostatnim bajtem sygnatury mogą być wykorzystane do rysowania wskaźnika głośności lub equalizera w trybie tekstowym.

  • Sygnatura pliku CMC+ zawiera bajty: $a0,$c3,$cd,$c3,$ab,$a0,$e4,$e1,$f4,$e1,$e6,$e9,$ec,$e5,$a0. Jest to napis " CMC+ datafile " w inwersie. Za nią znajdują się 4 spacje.
  • Sygnatura plików CMC z poprawką Jaskra opisaną przez Henryka Karpowicza w magu Serious#11 ma zmodyfikowany (w stosunku do oryginalnej sygnatury CMC) pierwszy bajt - zamiast $a0 znajduje się tam $30. Pozwala to rozpoznać pliki z krótszym 48 pozycyjnym patternem (standardowy ma 64 pozycje).

Linki

Personal tools