CMC (format pliku): Różnice pomiędzy wersjami

Z Atariki
Przejdź do nawigacji Przejdź do wyszukiwania
Nie podano opisu zmian
Jellonek (dyskusja | edycje)
reformatowanie/wikizacja - btw. moze odstepy wieksze porobic? jak uwazacie?
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 5 sty 2006, 17:54

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ł 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