NEO
From Atariki
(Różnice między wersjami)
Wersja z dnia 16:44, 25 wrz 2006 Epi (Dyskusja | wkład) ← Previous diff |
Wersja z dnia 19:48, 26 wrz 2006 Epi (Dyskusja | wkład) (Byx!) Next diff → |
||
Linia 26: | Linia 26: | ||
=== Dane songu === | === Dane songu === | ||
- | Każda linia w songu składa się z ośmiu bajtów, gdzie pierwsze cztery to numery paternów, a kolejne cztery - wartości transpozycji. Oprócz tego, na ścieżce pierwszej numer paternu większy od 127 oznacza skok do linii o numerze podanym w miejscu na wartość transpozycji. | + | Ułożone w kolejności: |
+ | * $80 bajtów oznaczających numery paternów 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 transpozycji na ścieżce 4. | ||
=== Dane paternów === | === Dane paternów === |
Wersja z dnia 19:48, 26 wrz 2006
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 paternów |
$00b0 | $0080 | starsze bajty adresów paternó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 paternów, powiększona o $4000 |
$0a72 | ... | dane paternów |
... | ... | dane sampli |
Poniższe informacje dotyczą wersji $14 formatu.
Dane songu
Ułożone w kolejności:
- $80 bajtów oznaczających numery paternów 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 transpozycji na ścieżce 4.
Dane paternó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 paternu,
- $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 patern zajmuje od jednego do 256 bajtów.