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.
