CM2

Z Atariki
Wersja z 20 cze 2015, 04:07 autorstwa Mono (dyskusja | edycje) (pochodna CMS)
Przejdź do nawigacji Przejdź do wyszukiwania

Format pliku używany przez program Stereo Double Chaos Music Composer 2000 v1.02 copyright 6.11.1999 by datri.

Plik CM2 jest zmodyfikowanym plikiem binarnym DOSu i jest pochodną formatu CMS rozszerzoną o dodatkowe komendy.

Zmodyfikowany nagłówek binarny DOS

Offset Rozmiar Opis
$00 $02 Znacznik $0000
$02 $02 Adres początku danych
$04 $02 Adres końca danych

Dane pliku

Offset Rozmiar Opis
$000 $013 Sygnatura "<Chaos2000   v1.00>" w kodach ekranowych
$013 $001 Tempo (globalne)
$014 $040 Tablica adresów patternów - młodsze bajty
$054 $040 Tablica adresów patternów - starsze bajty
$094 $340 Tablica definicji instrumentów
$3d4 $01a Tablica oktaw dla instrumentów
$3ee $012 Tytuł utworu w kodach ekranowych
$400 $055 1 ścieżka w SONG (1 kanał pierwszego POKEYa)
$455 $055 2 ścieżka w SONG (2 kanał pierwszego POKEYa)
$4aa $055 3 scieżka w SONG (3 kanał pierwszego POKEYa)
$4ff $001 Zarezerwowany
$500 $055 4 ścieżka w SONG (1 kanał drugiego POKEYa)
$555 $055 5 ścieżka w SONG (2 kanał drugiego POKEYa)
$5aa $055 6 scieżka w SONG (3 kanał drugiego POKEYa)
$5ff $001 Zarezerwowany
$600 - Dane patternów

Dane patternów

Rozszerzone o kod $2x pozwalający na zmianę głośności kanału.

Dane instrumentów

Zawiera 26 bloków po 32 bajty definujące instrument.

                   AB
                   CD
                   EF
vvvvvvvvvvvvvvvv   GH
dddddddddddddddd IJKL
ffffffffffffffff MNOP
  • 8 bajtów definicji głośności obwiedni (v) w kolejności najpierw młodszy nibble, potem starszy
  • 8 bajtów definicji zniekształceń obwiedni (d) w kolejności najpierw młodszy nibble, potem starszy
  • 8 bajtów odchylenia częstotliwości (f) w kolejności najpierw młodszy nibble, potem starszy
  • 4 bajty atrybutów w kolejności JI LK NM PO
  • 4 bajty atrybutów w kolejności AB CD EF GH

Dane oktaw instrumentów

Zawiera 26 bajtów oznaczających numery oktawy bazowej dla instrumentu. Wartości pary bitów 0 i 1 oznaczają:

  • 0 - oktawy 1-2
  • 1 - oktawy 2-3
  • 2 - oktawy 3-4
  • 3 - oktawy 4-5

Bity 2..7 są zarezerwowane.

Dane tracków

Rozszerzone o rozkazy:

  • $87 V: volume (w kolejnej linii na każdej ścieżce definiuje się głośność kanału)
  • $97 P: pause (na tracku 2 ilość ramek, na tracku 3 ilość sekund - sumarycznie pauza wynosi więc 50*yy+xx ramek)
  • $A7 M: mode (na tracku 2: $00 = normal - player gra 1x na ramkę, $01 = double - player gra 2x na ramkę)
  • $B7 I: transpozycja (w kolejnej linii definiuje się transpozycje każdego kanału)

Uwagi

1. Sygnatura pliku CM2 zawiera bajty: $9c $a3 $e8 $e1 $ef $f3 $92 $90 $90 $90 $80 $80 $80 $f6 $91 $8e $90 $90 $9e. Jest to napis "<Chaos2000   v1.00>" w inwersie. Napis ten jest zakodowany przy użyciu kodów ekranowych, a nie jak w przypadku CMC za pomocą kodów ATASCII.

2. Znacznik nagłówka binarnego w pliku demonstracyjnym GRAVE.CM2 ma wartości $88 $42.

Linki