MUZ (format pliku): Różnice pomiędzy wersjami
m w formacie nie ma wersji |
postać skompresowana |
||
| Linia 2: | Linia 2: | ||
Format pliku używany przez program [[Sound Tracker]]. | Format pliku używany przez program [[Sound Tracker]]. | ||
== Postać nieskompresowana == | |||
<table border=1> | <table border=1> | ||
| Linia 63: | Linia 65: | ||
* $01 - długość songu | * $01 - długość songu | ||
* $02... - kolejne numery patternów | * $02... - kolejne numery patternów | ||
== Postać skompresowana == | |||
<table border=1> | |||
<tr><td>offset</td><td>długość</td><td>opis</td></tr> | |||
<tr><td>$0000</td><td>$0004</td><td>tablica zapętleń tracków</td></tr> | |||
<tr><td>$0004</td><td>$0004</td><td>tablica LSB adresów tracków</td></tr> | |||
<tr><td>$0008</td><td>$0004</td><td>tablica MSB adresów tracków</td></tr> | |||
<tr><td>$000C</td><td>$0002</td><td>adres tablicy adresów patternów</td></tr> | |||
<tr><td>$000E</td><td>$0002</td><td>adres tablicy adresów obwiedni głośności</td></tr> | |||
<tr><td>$0010</td><td>$0002</td><td>adres tablicy adresów obwiedni częstotliwości</td></tr> | |||
<tr><td>$0012</td><td>$0002</td><td>adres tablicy adresów instrumentów</td></tr> | |||
<tr><td>$0014</td><td>...</td><td>definicje tracków</td></tr> | |||
<tr><td>...</td><td>...</td><td>tablica adresów patternów</td></tr> | |||
<tr><td>...</td><td>...</td><td>tablica adresów obwiedni głośności</td></tr> | |||
<tr><td>...</td><td>...</td><td>tablica adresów obwiedni częstotliwości</td></tr> | |||
<tr><td>...</td><td>...</td><td>tablica instrumentów</td></tr> | |||
<tr><td>...</td><td>...</td><td>dane obwiedni głośności</td></tr> | |||
<tr><td>...</td><td>...</td><td>dane obwiedni częstotliwości</td></tr> | |||
<tr><td>...</td><td>...</td><td>dane patternów</td></tr> | |||
</table> | |||
=== Track === | |||
Rozkazy, które może zawierać track: | |||
* $00..$FC - numer patternu do odegrania, | |||
* $FD xx - ustawia AUDCTL wartością xx, | |||
* $FE xx - ustawia tempo, | |||
* $FF - powoduje zapętlenie tracku. | |||
=== Pattern === | |||
Rozkazy, które może zawierać pattern: | |||
* $00..$3F - nuta, | |||
* $40..$7F - instrument (bity 0..5), | |||
* $80..$FE - puste linie ($80 - 1 linia, $81 - 2 linie... $FE - 128 pustych linii), | |||
* $FF - koniec patternu. | |||
=== Instrument === | |||
Każdy instrument składa się z 4 pól: | |||
* $00: zapętlenie obwiedni głośności, | |||
* $01: zapętlenie obwiedni częstotliwości, | |||
* $02: zniekształcenie (AUDCx), | |||
* $03: ?. | |||
=== Obwiednia głośności === | |||
Rozkazy obwiedni głośności: | |||
* $00..$FE - bajty postaci $xy, gdzie x to kod sterujący, y to głośność, | |||
* $FF - koniec obwiedni | |||
=== Obwiednia częstotliwości === | |||
Rozkazy obwiedni głośności: | |||
* $00..$FE - bajty postaci $xy, gdzie x to kod sterujący, y to odchylenie od częstotliwości bazowej, | |||
* $FF - koniec obwiedni | |||
Odchylenie "zerowe" ma wartość 8. | |||
=== Tablice adresów patternów, obwiedni głośności i obwiedni częstotliwości === | |||
Każda tablica adresów zawiera adresy zapisane w kolejności LSB, MSB. | |||
[[Kategoria: Atari 8-bit]] | [[Kategoria: Atari 8-bit]] | ||
[[Kategoria: Formaty plików]] | [[Kategoria: Formaty plików]] | ||
Wersja z 21 sie 2011, 12:30
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.
Postać nieskompresowana
| offset | długość | opis |
| $0000 | $0006 | identyfikator: 'Music ' |
| $0006 | ... | dane instrumentów |
| ... | ... | dane patternów |
| ... | ... | dane songu |
Dane instrumentów
Dane instrumentów zaczynają się pojedynczym bajtem określającym ich ilość.
- $00 - ilość instrumentów
- $01... - definicje kolejnych 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
Postać skompresowana
| offset | długość | opis |
| $0000 | $0004 | tablica zapętleń tracków |
| $0004 | $0004 | tablica LSB adresów tracków |
| $0008 | $0004 | tablica MSB adresów tracków |
| $000C | $0002 | adres tablicy adresów patternów |
| $000E | $0002 | adres tablicy adresów obwiedni głośności |
| $0010 | $0002 | adres tablicy adresów obwiedni częstotliwości |
| $0012 | $0002 | adres tablicy adresów instrumentów |
| $0014 | ... | definicje tracków |
| ... | ... | tablica adresów patternów |
| ... | ... | tablica adresów obwiedni głośności |
| ... | ... | tablica adresów obwiedni częstotliwości |
| ... | ... | tablica instrumentów |
| ... | ... | dane obwiedni głośności |
| ... | ... | dane obwiedni częstotliwości |
| ... | ... | dane patternów |
Track
Rozkazy, które może zawierać track:
- $00..$FC - numer patternu do odegrania,
- $FD xx - ustawia AUDCTL wartością xx,
- $FE xx - ustawia tempo,
- $FF - powoduje zapętlenie tracku.
Pattern
Rozkazy, które może zawierać pattern:
- $00..$3F - nuta,
- $40..$7F - instrument (bity 0..5),
- $80..$FE - puste linie ($80 - 1 linia, $81 - 2 linie... $FE - 128 pustych linii),
- $FF - koniec patternu.
Instrument
Każdy instrument składa się z 4 pól:
- $00: zapętlenie obwiedni głośności,
- $01: zapętlenie obwiedni częstotliwości,
- $02: zniekształcenie (AUDCx),
- $03: ?.
Obwiednia głośności
Rozkazy obwiedni głośności:
- $00..$FE - bajty postaci $xy, gdzie x to kod sterujący, y to głośność,
- $FF - koniec obwiedni
Obwiednia częstotliwości
Rozkazy obwiedni głośności:
- $00..$FE - bajty postaci $xy, gdzie x to kod sterujący, y to odchylenie od częstotliwości bazowej,
- $FF - koniec obwiedni
Odchylenie "zerowe" ma wartość 8.
Tablice adresów patternów, obwiedni głośności i obwiedni częstotliwości
Każda tablica adresów zawiera adresy zapisane w kolejności LSB, MSB.