NEO
From Atariki
(Różnice między wersjami)
Wersja z dnia 19:48, 26 wrz 2006 Epi (Dyskusja | wkład) (Byx!) ← Previous diff |
Wersja z dnia 19:27, 3 gru 2010 Mono (Dyskusja | wkład) (uwagi do formatu w wersji $10) Next diff → |
||
Linia 10: | Linia 10: | ||
<tr><td>$002e</td><td>$0001</td><td>początkowa szybkość odtwarzania</td></tr> | <tr><td>$002e</td><td>$0001</td><td>początkowa szybkość odtwarzania</td></tr> | ||
<tr><td>$002f</td><td>$0001</td><td>numer sampla oznaczonego jako "long sample"</td></tr> | <tr><td>$002f</td><td>$0001</td><td>numer sampla oznaczonego jako "long sample"</td></tr> | ||
- | <tr><td>$0030</td><td>$0080</td><td>młodsze bajty adresów paternów</td></tr> | + | <tr><td>$0030</td><td>$0080</td><td>młodsze bajty adresów patternów</td></tr> |
- | <tr><td>$00b0</td><td>$0080</td><td>starsze bajty adresów paternów</td></tr> | + | <tr><td>$00b0</td><td>$0080</td><td>starsze bajty adresów patternów</td></tr> |
<tr><td>$0130</td><td>$0400</td><td>nazwy sampli</td></tr> | <tr><td>$0130</td><td>$0400</td><td>nazwy sampli</td></tr> | ||
<tr><td>$0530</td><td>$0040</td><td>głośności sampli</td></tr> | <tr><td>$0530</td><td>$0040</td><td>głośności sampli</td></tr> | ||
Linia 17: | Linia 17: | ||
<tr><td>$05f0</td><td>$0080</td><td>pozycje początku pętli</td></tr> | <tr><td>$05f0</td><td>$0080</td><td>pozycje początku pętli</td></tr> | ||
<tr><td>$0670</td><td>$0400</td><td>dane songu</td></tr> | <tr><td>$0670</td><td>$0400</td><td>dane songu</td></tr> | ||
- | <tr><td>$0a70</td><td>$0002</td><td>ilość danych paternów, powiększona o $4000</td></tr> | + | <tr><td>$0a70</td><td>$0002</td><td>ilość danych patternów, powiększona o $4000</td></tr> |
- | <tr><td>$0a72</td><td>...</td><td>dane paternów</td></tr> | + | <tr><td>$0a72</td><td>...</td><td>dane patternów</td></tr> |
<tr><td>...</td><td>...</td><td>dane sampli</td></tr> | <tr><td>...</td><td>...</td><td>dane sampli</td></tr> | ||
</table> | </table> | ||
Linia 27: | Linia 27: | ||
Ułożone w kolejności: | Ułożone w kolejności: | ||
- | * $80 bajtów oznaczających numery paternów na ścieżce 1, | + | * $80 bajtów oznaczających numery patternów na ścieżce 1, |
* $80 bajtów transpozycji na ścieżce 1, | * $80 bajtów transpozycji na ścieżce 1, | ||
* ... | * ... | ||
- | * $80 bajtów numerów paternów na ścieżce 4, | + | * $80 bajtów numerów patternów na ścieżce 4, |
* $80 bajtów transpozycji na ścieżce 4. | * $80 bajtów transpozycji na ścieżce 4. | ||
- | === Dane paternów === | + | === Dane patternów === |
Grupy poleceń rozpoznawane są po najstarszych 2 bitach: | Grupy poleceń rozpoznawane są po najstarszych 2 bitach: | ||
Linia 42: | Linia 42: | ||
Komenda efektu: | Komenda efektu: | ||
- | * $00 - koniec paternu, | + | * $00 - koniec patternu, |
* $0x - zmiana szybkości odtwarzania, | * $0x - zmiana szybkości odtwarzania, | ||
* $1x - płynne ściszanie, | * $1x - płynne ściszanie, | ||
Linia 51: | Linia 51: | ||
Gdzie x oznacza parametr komendy. | Gdzie x oznacza parametr komendy. | ||
- | Pojedynczy patern zajmuje od jednego do 256 bajtów. | + | Pojedynczy pattern zajmuje od jednego do 256 bajtów. |
+ | |||
+ | === Uwagi === | ||
+ | |||
+ | Wersja $10 formatu różni się od $14 następującymi cechami: | ||
+ | * głośności instrumentów w nagłówku (nie w patternie) przyjmują wartości $00..$40, | ||
+ | * sample o długości 0 bajtów w rzeczywistości mają długość 1 bajtu. | ||
[[Kategoria: Formaty plików]] | [[Kategoria: Formaty plików]] |
Wersja z dnia 19:27, 3 gru 2010
Format modułu muzycznego obsługiwany przez program NeoTracker.
offset | długość | opis |
$0000 | $0003 | identyfikator: 'NEO' w ASCII |
$0003 | $0001 | zarezerwowane (obecnie 0) |
$0004 | $0001 | numer wersji programu koniecznej do poprawnego wczytania pliku ($10 - 1.12, $14 - 1.4+) |
$0005 | $0001 | typ pliku: $8e |
$0006 | $0028 | tytuł utworu (uzupełniony spacjami) |
$002e | $0001 | początkowa szybkość odtwarzania |
$002f | $0001 | numer sampla oznaczonego jako "long sample" |
$0030 | $0080 | młodsze bajty adresów patternów |
$00b0 | $0080 | starsze bajty adresów patternów |
$0130 | $0400 | nazwy sampli |
$0530 | $0040 | głośności sampli |
$0570 | $0080 | długości sampli |
$05f0 | $0080 | pozycje początku pętli |
$0670 | $0400 | dane songu |
$0a70 | $0002 | ilość danych patternów, powiększona o $4000 |
$0a72 | ... | dane patternów |
... | ... | dane sampli |
Poniższe informacje dotyczą wersji $14 formatu.
Dane songu
Ułożone w kolejności:
- $80 bajtów oznaczających numery patternów na ścieżce 1,
- $80 bajtów transpozycji na ścieżce 1,
- ...
- $80 bajtów numerów patternów na ścieżce 4,
- $80 bajtów transpozycji na ścieżce 4.
Dane patternów
Grupy poleceń rozpoznawane są po najstarszych 2 bitach:
- 00 - rozpoczęcie grania nuty o numerze zawartym w pozostałych bitach ($00-$3e). Następny bajt oznacza głośność ($00-$20); dodatkowo ustawienie siódmego bitu oznacza, że nastąpi jedynie zmiana wysokości dźwięku (sampel nie będzie zagrany od początku), a szóstego - że wystąpi dodatkowy bajt komendy efektu.
- 01 - zmiana bieżącego instrumentu, numer zapisany w pozostałych bitach ($00-$3f).
- 10 - puste linie, pomniejszona o 1 ilość zapisana w pozostałych bitach ($00-$3f).
- 11 - puste linie ze zmianą głośności i ew. komendą efektu. Następny bajt oznacza głośność ($00-$20); dodatkowo ustawienie siódmego bitu oznacza, że nie występuje zmiana głośności, a szóstego - że wystąpi dodatkowy bajt komendy efektu.
Komenda efektu:
- $00 - koniec patternu,
- $0x - zmiana szybkości odtwarzania,
- $1x - płynne ściszanie,
- $2x - płynne zgłaśnianie,
- $3x - portamento w dół,
- $4x - portamento w górę.
Gdzie x oznacza parametr komendy.
Pojedynczy pattern zajmuje od jednego do 256 bajtów.
Uwagi
Wersja $10 formatu różni się od $14 następującymi cechami:
- głośności instrumentów w nagłówku (nie w patternie) przyjmują wartości $00..$40,
- sample o długości 0 bajtów w rzeczywistości mają długość 1 bajtu.