MUZ (format pliku)
From Atariki
(Różnice między wersjami)
Wersja z dnia 18:24, 17 sie 2011 Mono (Dyskusja | wkład) (link do soundtrackera) ← Previous diff |
Wersja z dnia 18:51, 17 sie 2011 Mono (Dyskusja | wkład) (rozkazy patternów, dane songu i szczegóły obwiedni) Next diff → |
||
Linia 21: | Linia 21: | ||
* $04... - kolejne bajty obwiedni głośności | * $04... - kolejne bajty obwiedni głośności | ||
* $xx - długość obwiedni częstotliwościowej instrumentu | * $xx - długość obwiedni częstotliwościowej instrumentu | ||
- | * $xx+1 - zapętlenie obwiedni częstotliwościowej instrumentu | + | * $xx+$01 - zapętlenie obwiedni częstotliwościowej instrumentu |
- | * $xx+2 - ? | + | * $xx+$02 - ? |
- | * $xx+3... - kolejne bajty obwiedni częstotliwościowej instrumentu | + | * $xx+$03... - kolejne bajty obwiedni częstotliwościowej instrumentu |
+ | |||
+ | Obwiednia częstotliwościowa przyjmuje 8, jako "wartość zerową". | ||
=== Dane patternów === | === Dane patternów === | ||
Linia 45: | Linia 47: | ||
* $01... - dane ścieżki | * $01... - dane ścieżki | ||
- | TODO: opisać komendy patternu | + | Ścieżka zawiera następujące polecenia: |
+ | * $00..$3f: nuta | ||
+ | * $40..$5f: instrument (bity 0..4) | ||
+ | * $80..$ff: puste linie (bity 0..6) | ||
=== Dane songu === | === Dane songu === | ||
Linia 53: | Linia 58: | ||
* $00 - zapętlenie songu | * $00 - zapętlenie songu | ||
* $01 - długość songu | * $01 - długość songu | ||
- | * $02... - dane songu | + | * $02... - kolejne numery patternów |
- | + | ||
- | TODO: opisać komendy songu | + | |
[[Kategoria: Atari 8-bit]] | [[Kategoria: Atari 8-bit]] | ||
[[Kategoria: Formaty plików]] | [[Kategoria: Formaty plików]] |
Wersja z dnia 18:51, 17 sie 2011
Ten artykuł to tylko zalążek. Możesz pomóc rozwojowi Atariki poprzez rozszerzenie go o więcej informacji.
Format pliku używany przez program Sound Tracker.
offset | długość | opis |
$0000 | $0006 | identyfikator: 'Music ' |
$0006 | $0001 | wersja programu np. $07 = 0.7 |
$0007 | ... | dane 32 instrumentów |
... | ... | dane patternów |
... | ... | dane songu |
Dane instrumentów
Każdy instrument składa się z następujących pól:
- $00 - nr instrumentu
- $01 - długość obwiedni głośności instrumentu
- $02 - zapętlenie obwiedni głośności instrumentu
- $03 - znieksztalcenie (AUDCx)
- $04... - kolejne bajty obwiedni głośności
- $xx - długość obwiedni częstotliwościowej instrumentu
- $xx+$01 - zapętlenie obwiedni częstotliwościowej instrumentu
- $xx+$02 - ?
- $xx+$03... - kolejne bajty obwiedni częstotliwościowej instrumentu
Obwiednia częstotliwościowa przyjmuje 8, jako "wartość zerową".
Dane patternów
Dane patternów zaczynają się pojedynczym bajtem określającym ich ilość.
- $00 - ilość patternów
- $01... - definicje kolejnych patternów
Każdy pattern zawiera dane na wszystkich 4 kanałów POKEYa naraz i tworzy następującą strukturę:
- $01 - nr patternu
- $02 - długość patternu
- $03 - tempo
- $04 - wartość wpisywana do rejestru kontroli AUDCTL
- $05... - definicje ścieżek dla 4 kanałów POKEYa
Każda ścieżka składa się z pól:
- $00 - długość ścieżki
- $01... - dane ścieżki
Ścieżka zawiera następujące polecenia:
- $00..$3f: nuta
- $40..$5f: instrument (bity 0..4)
- $80..$ff: puste linie (bity 0..6)
Dane songu
Opis songu tworzy następującą strukturę:
- $00 - zapętlenie songu
- $01 - długość songu
- $02... - kolejne numery patternów