CMC (format pliku)
From Atariki
(Różnice między wersjami)
Wersja z dnia 13:58, 7 wrz 2005 KMK (Dyskusja | wkład) ← Previous diff |
Wersja z dnia 15:54, 5 sty 2006 Jellonek (Dyskusja | wkład) (reformatowanie/wikizacja - btw. moze odstepy wieksze porobic? jak uwazacie?) Next diff → |
||
Linia 2: | Linia 2: | ||
== Pierwsze bajty w pliku (pomijając nagłówek DOSa): == | == Pierwsze bajty w pliku (pomijając nagłówek DOSa): == | ||
+ | {| border="1" | ||
+ | |align="center"|Offset ||align="center"|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ł 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 | ||
+ | |} | ||
- | Offset: | + | == Definicje instrumentów == |
- | + | ||
- | *$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 | * offset = numer instrumentu x 6 | ||
- | |||
* Pierwsze cztery bajty to wartości z prawej strony edytora instrumentów w CMC. | * 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 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) | * 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. | * Kolejne 2 bajty to mapa bitowa akcentów - kolejny bit, kolejny akcent w definicji obwiedni w CMC. | ||
- | + | == Definiticja obwiedń == | |
- | == Definiticja obwiedni: == | + | |
- | + | ||
* offset = numer instrumentu x 8, | * 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. | * 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: | ||
- | == Dane ścieżek w oknie Song : == | + | {| border="1" |
- | + | |align="center"|Wartość ||align="center"|Klawisz w CMC ||align="center"|Opis | |
- | Wszystkie ścieżki w oknie SONG zawierają numery kolejno odtwarzanych patternów, ale wartości z ustawionym 7 bitem (+ $80) są bajtami kontrolnymi : | + | |- |
- | + | | $8F ||align="center"|SHIFT S || STOP - zatrzymuje odtwarzanie songu ale instrumenty są odtwarzane do końca. | |
- | Wartość Klawisz w CMC Opis | + | |- |
- | + | | $9F ||align="center"|SHIFT J || JUMP - skacze do lini w songu - wartość pozycji jest w brana z 2 ścieżki. (na tej samej pozycji) | |
- | *$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 ||align="center"|SHIFT U || UP - skacz w górę ileś lini - ilość lini jest brana z 2 ścieżki. |
- | *$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. | + | | $BF ||align="center"|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. | + | | $CF ||align="center"|SHIFT T || TEMPO - ustaw nowe tempo - wartość z 2 ścieżki. |
- | *$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. | + | | $DF ||align="center"|SHIFT R || REPLAY - pętla odtwarzana n razy na m pozycjach w dół, n brana z 3 ścieżki, m - z 2. |
- | + | |- | |
- | + | | $EF ||align="center"|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. | |
- | == Dane Patternów : == | + | |- |
- | + | | $FF,$FE || || pusta pozycja - nie odtwarza na tej ścieżce żadnego patternu. | |
- | 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 | + | |
+ | == Dane Patternów == | ||
+ | {| border="1" | ||
+ | |align="cenet"|Wartość ||align="center"|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 | ||
+ | |} | ||
[[Kategoria:Atari 8-bit]] | [[Kategoria:Atari 8-bit]] | ||
[[Kategoria:Formaty plików]] | [[Kategoria:Formaty plików]] |
Wersja z dnia 15:54, 5 sty 2006
Format pliku używany przez program Chaos Music Composer. Plik .CMC jest dosowym plikiem, zawiera 6 bajtowy nagłówek Dosa.
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ł 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 obwiedń
- 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 |