CM2
From Atariki
| Wersja z dnia 17:20, 18 cze 2015 Mono (Dyskusja | wkład) (→Zmodyfikowany nagłówek binarny DOS - sygnatura -> znacznik) ← Previous diff |
Wersja z dnia 18:48, 18 cze 2015 Mono (Dyskusja | wkład) (→Dane instrumentów - formatowanie) Next diff → |
||
| Linia 61: | Linia 61: | ||
| Zawiera 26 bloków po 32 bajty definujące instrument. | Zawiera 26 bloków po 32 bajty definujące instrument. | ||
| - | AB | + | AB |
| - | CD | + | CD |
| - | EF | + | EF |
| - | vvvvvvvvvvvvvvvv GH | + | vvvvvvvvvvvvvvvv GH |
| dddddddddddddddd IJKL | dddddddddddddddd IJKL | ||
| ffffffffffffffff MNOP | ffffffffffffffff MNOP | ||
Wersja z dnia 18:48, 18 cze 2015
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 CMC rozszerzoną o dane tracków przeznaczonych dla drugiego POKEYa.
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
Identyczne, jak w CMC.
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 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.
