CM2: Różnice pomiędzy wersjami

Z Atariki
Przejdź do nawigacji Przejdź do wyszukiwania
Mono (dyskusja | edycje)
m →Dane pliku: sygnatura
Mono (dyskusja | edycje)
mNie podano opisu zmian
 
(Nie pokazano 9 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 3: Linia 3:
Format pliku używany przez program [[Stereo Double Chaos Music Composer 2000]] v1.02 copyright 6.11.1999 by datri.  
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 [[Binarny plik DOSu|DOSu]] i jest pochodną [[CMC (format pliku)|formatu CMC]] rozszerzoną o dane tracków przeznaczonych dla drugiego POKEYa.
Plik CM2 jest zmodyfikowanym plikiem binarnym [[Binarny plik DOSu|DOSu]] i jest pochodną formatu [[CMS]] rozszerzoną o dodatkowe komendy.


== Zmodyfikowany nagłówek binarny DOS ==
== Zmodyfikowany nagłówek binarny DOS ==
Linia 9: Linia 9:
|align="center"|Offset ||align="center"|Rozmiar ||align="center"|Opis
|align="center"|Offset ||align="center"|Rozmiar ||align="center"|Opis
|-
|-
|align="center"| $00 ||align="center"| $02 || Sygnatura $0000
|align="center"| $00 ||align="center"| $02 || Znacznik $0000
|-
|-
|align="center"| $02 ||align="center"| $02 || Adres początku danych
|align="center"| $02 ||align="center"| $02 || Adres początku danych
Linia 20: Linia 20:
|align="center"|Offset ||align="center"|Rozmiar ||align="center"|Opis
|align="center"|Offset ||align="center"|Rozmiar ||align="center"|Opis
|-
|-
|align="center"| $000 ||align="center"| $013 || Sygnatura "<Chaos2000   v1.00>" w [[Kody ekranowe|kodach ekranowych]]
|align="center"| $000 ||align="center"| $013 || Sygnatura "<Chaos2000&nbsp;&nbsp;&nbsp;v1.00>" w [[Kody ekranowe|kodach ekranowych]]
|-
|-
|align="center"| $013 ||align="center"| $001 || Tempo (globalne)
|align="center"| $013 ||align="center"| $001 || Tempo (globalne)
|-
|-
|align="center"| $014 ||align="center"| $040 || Tablica adresów Patternów - młodsze bajty
|align="center"| $014 ||align="center"| $040 || Tablica adresów patternów - młodsze bajty
|-
|-
|align="center"| $054 ||align="center"| $040 || Tablica adresów Patternów - starsze bajty
|align="center"| $054 ||align="center"| $040 || Tablica adresów patternów - starsze bajty
|-
|-
|align="center"| $094 ||align="center"| $340 || Tablica definicji instrumentów
|align="center"| $094 ||align="center"| $340 || Tablica definicji instrumentów
Linia 32: Linia 32:
|align="center"| $3d4 ||align="center"| $01a || Tablica oktaw dla instrumentów
|align="center"| $3d4 ||align="center"| $01a || Tablica oktaw dla instrumentów
|-
|-
|align="center"| $3ee ||align="center"| $012 || Tytuł utworu w [[Kody ekranowe|kodach ekranowych]] [[ANTIC]]a
|align="center"| $3ee ||align="center"| $012 || Tytuł utworu w [[Kody ekranowe|kodach ekranowych]]
|-
|-
|align="center"| $400 ||align="center"| $055 || 1 ścieżka w SONG (1 kanał pierwszego POKEYa)
|align="center"| $400 ||align="center"| $055 || 1 ścieżka w SONG (1 kanał pierwszego POKEYa)
Linia 55: Linia 55:
== Dane patternów ==
== Dane patternów ==


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


== Dane instrumentów ==
== Dane instrumentów ==
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


* 8 bajtów definicji obwiedni (v) w kolejności najpierw młodszy nibble, potem starszy
* 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 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
* 8 bajtów odchylenia częstotliwości (f) w kolejności najpierw młodszy nibble, potem starszy
Linia 98: Linia 98:


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.  
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 [[Kody_ekranowe|kodów ekranowych]], a nie jak w przypadku CMC za pomocą [[ATASCII|kodów ATASCII]].
Jest to napis "<Chaos2000&nbsp;&nbsp;&nbsp;v1.00>" w inwersie. Napis ten jest zakodowany przy użyciu [[Kody_ekranowe|kodów ekranowych]], a nie jak w przypadku CMC za pomocą [[ATASCII|kodów ATASCII]].


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

Aktualna wersja z 20 cze 2015, 04:08

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