CM2
From Atariki
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.