CM2

From Atariki

Jump to: navigation, search

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.

Spis treści

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

Personal tools