<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://mirror.atariki.pl/w/index.php?action=history&amp;feed=atom&amp;title=MUZ_%28format_pliku%29</id>
	<title>MUZ (format pliku) - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="https://mirror.atariki.pl/w/index.php?action=history&amp;feed=atom&amp;title=MUZ_%28format_pliku%29"/>
	<link rel="alternate" type="text/html" href="https://mirror.atariki.pl/w/index.php?title=MUZ_(format_pliku)&amp;action=history"/>
	<updated>2026-10-02T05:59:30Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://mirror.atariki.pl/w/index.php?title=MUZ_(format_pliku)&amp;diff=2804&amp;oldid=prev</id>
		<title>imported&gt;Atariki recovery: Reconstructed from archived HTML; see provenance manifest</title>
		<link rel="alternate" type="text/html" href="https://mirror.atariki.pl/w/index.php?title=MUZ_(format_pliku)&amp;diff=2804&amp;oldid=prev"/>
		<updated>2026-10-01T08:51:48Z</updated>

		<summary type="html">&lt;p&gt;Reconstructed from archived HTML; see provenance manifest&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Ten artykuł to tylko [http://pl.wikipedia.org/wiki/Wikipedia:Zalążek_artykułu zalążek]. Możesz pomóc rozwojowi [[Atariki]] poprzez rozszerzenie go o więcej informacji.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Format pliku używany przez program [[Sound Tracker]].&lt;br /&gt;
&lt;br /&gt;
== Wersja pre 07 ==&lt;br /&gt;
&lt;br /&gt;
Format pliku używany przez wersję nieoficjalną.&lt;br /&gt;
&lt;br /&gt;
== Postać nieskompresowana ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| offset&lt;br /&gt;
| długość&lt;br /&gt;
| opis&lt;br /&gt;
|-&lt;br /&gt;
| $0000&lt;br /&gt;
| $0006&lt;br /&gt;
| identyfikator: &amp;#039;MUSIC &amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| $0006&lt;br /&gt;
| ...&lt;br /&gt;
| dane instrumentów&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| dane patternów&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| dane songu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dane instrumentów ===&lt;br /&gt;
&lt;br /&gt;
Dane instrumentów zaczynają się pojedynczym bajtem określającym ich ilość.&lt;br /&gt;
&lt;br /&gt;
* $00 - ilość instrumentów&lt;br /&gt;
* $01... - definicje kolejnych instrumentów&lt;br /&gt;
&lt;br /&gt;
Każdy instrument składa się z następujących pól:&lt;br /&gt;
&lt;br /&gt;
* $00 - nr instrumentu&lt;br /&gt;
* $01 - długość obwiedni częstotliwościowej instrumentu&lt;br /&gt;
* $02 - długość obwiedni głośności instrumentu&lt;br /&gt;
* $03 - zniekształcenie (AUDCx)&lt;br /&gt;
* $04 - ?&lt;br /&gt;
* $05..$40 - kolejne bajty obwiedni częstotliwości (starszy nibble) i głośności (młodszy nibble)&lt;br /&gt;
&lt;br /&gt;
=== Dane patternów ===&lt;br /&gt;
&lt;br /&gt;
Dane patternów zaczynają się pojedynczym bajtem określającym ich ilość.&lt;br /&gt;
&lt;br /&gt;
* $00 - ilość patternów&lt;br /&gt;
* $01... - definicje kolejnych patternów&lt;br /&gt;
&lt;br /&gt;
Każdy pattern zawiera dane na wszystkich 4 kanałów POKEYa naraz i tworzy następującą strukturę:&lt;br /&gt;
&lt;br /&gt;
* $000 - nr patternu&lt;br /&gt;
* $001 - długość patternu&lt;br /&gt;
* $002 - tempo&lt;br /&gt;
* $003 - wartość wpisywana do rejestru kontroli AUDCTL&lt;br /&gt;
* $004..$103 - definicje częstotliwości nut dla 4 kanałów POKEYa kolejno 1, 2, 3, 4, 1, 2, 3, 4, itd. (wartość 0 - brak nuty)&lt;br /&gt;
* $104..$203 - numery instrumentów dla 4 kanałów POKEYa kolejno 1, 2, 3, 4, 1, 2, 3, 4, itd.&lt;br /&gt;
&lt;br /&gt;
=== Dane songu ===&lt;br /&gt;
&lt;br /&gt;
Opis songu tworzy następującą strukturę:&lt;br /&gt;
&lt;br /&gt;
* $00 - zapętlenie songu&lt;br /&gt;
* $01 - długość songu&lt;br /&gt;
* $02... - kolejne numery patternów&lt;br /&gt;
&lt;br /&gt;
== Postać skompresowana ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| offset&lt;br /&gt;
| długość&lt;br /&gt;
| opis&lt;br /&gt;
|-&lt;br /&gt;
| $0000&lt;br /&gt;
| ...&lt;br /&gt;
| dane songu&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| tablica adresów instrumentów&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| tablica adresów patternów&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| dane instrumentów&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| dane patternów&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Informacja o zapętleniu songu i jego długości podana jest wewnątrz procedury odtwarzającej mniej więcej w takim miejscu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; ldx songpos&lt;br /&gt;
 lda song,x&lt;br /&gt;
 asl a&lt;br /&gt;
 tay&lt;br /&gt;
 inx&lt;br /&gt;
 cpx #songlen&lt;br /&gt;
 bcc *+4&lt;br /&gt;
 ldx #songrep&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
czyli na pozycji $1D i $21 od początku procedury odtwarzającej.&lt;br /&gt;
&lt;br /&gt;
=== Dane instrumentów ===&lt;br /&gt;
&lt;br /&gt;
Każdy instrument opisuje struktura:&lt;br /&gt;
&lt;br /&gt;
* $00 - długość obwiedni częstotliwości instrumentu&lt;br /&gt;
* $01 - długość obwiedni głośności instrumentu&lt;br /&gt;
* $02 - zniekształcenie (AUDCx)&lt;br /&gt;
* $03 - ?&lt;br /&gt;
* $04... - kolejne bajty obwiedni częstotliwości (starszy nibble) i głośności (młodszy nibble) zarazem&lt;br /&gt;
&lt;br /&gt;
=== Dane patternu ===&lt;br /&gt;
&lt;br /&gt;
Każdy pattern opisuje struktura:&lt;br /&gt;
&lt;br /&gt;
* $00 - długość patternu&lt;br /&gt;
* $01 - tempo&lt;br /&gt;
* $02 - wartość wpisywana do rejestru AUDCTL&lt;br /&gt;
* $03 - offset względem początku patternu dla częstotliwości nut&lt;br /&gt;
* $04 - offset względem początku patternu dla numerów instrumentów&lt;br /&gt;
* $05... - tablica informacji o nutach odgrywanych w danej pozycji patternu&lt;br /&gt;
* $xx... - tablica częstotliwości nut odgrywanych w danej pozycji patternu&lt;br /&gt;
* $yy... - tablica numerów instrumentów dla każdej pozycji patternu&lt;br /&gt;
&lt;br /&gt;
Tablica informacji o nutach odgrywanych w danej pozycji patternu zawiera bitowo zakodowaną informację o kanałach na których kolejno rozpoczynane jest odgrywanie nut. Starsze nibbles zawierają informacje o parzystych liniach, młodsze o nieparzystych (gdy numery linii liczymy od 0).&lt;br /&gt;
Każdy nibble koduje numery kanałów następująco:&lt;br /&gt;
&lt;br /&gt;
* bit 7/3 - kanał 1&lt;br /&gt;
* bit 6/2 - kanał 2&lt;br /&gt;
* bit 5/1 - kanał 3&lt;br /&gt;
* bit 4/0 - kanał 4&lt;br /&gt;
&lt;br /&gt;
Kanał na którym ma zostać odegrana nuta oznaczany jest bitem zapalonym.&lt;br /&gt;
Jeśli żaden bit nie jest zapalony oznacza to, że w danej pozycji patternu nie jest rozpoczynane odgrywanie żadnej nuty (co nie oznacza, że nuta zainicjalizowana wcześniej na danym kanale nie kontynuuje wybrzmiewania).&lt;br /&gt;
&lt;br /&gt;
Tablica częstotliwości zawiera tylko wartości częstotliwości (zmniejszone o 8) dla kolejnych odgrywanych nut.&lt;br /&gt;
&lt;br /&gt;
Tablica numerów instrumentów zawiera struktury:&lt;br /&gt;
&lt;br /&gt;
* $00 - pozycja patternu, w której należy zmienić numer instrumentu (#$46 oznacza koniec patternu)&lt;br /&gt;
* $01..$04 - numery instrumentów dla wszystkich kanałów po kolei&lt;br /&gt;
&lt;br /&gt;
Zmiana numeru instrumentu nie rozpoczyna odgrywania nuty.&lt;br /&gt;
&lt;br /&gt;
=== Dane songu ===&lt;br /&gt;
&lt;br /&gt;
Opis songu tworzą kolejne numery patternów.&lt;br /&gt;
&lt;br /&gt;
=== Tablice adresów patternów i instrumentów ===&lt;br /&gt;
&lt;br /&gt;
Każda tablica adresów zawiera adresy zapisane w kolejności LSB, MSB.&lt;br /&gt;
&lt;br /&gt;
== Wersja 07 ==&lt;br /&gt;
&lt;br /&gt;
Format pliku używany przez oficjalnie wydaną wersję 07 programu.&lt;br /&gt;
&lt;br /&gt;
== Postać nieskompresowana ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| offset&lt;br /&gt;
| długość&lt;br /&gt;
| opis&lt;br /&gt;
|-&lt;br /&gt;
| $0000&lt;br /&gt;
| $0006&lt;br /&gt;
| identyfikator: &amp;#039;Music &amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| $0006&lt;br /&gt;
| ...&lt;br /&gt;
| dane instrumentów&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| dane patternów&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| dane songu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dane instrumentów ===&lt;br /&gt;
&lt;br /&gt;
Dane instrumentów zaczynają się pojedynczym bajtem określającym ich ilość.&lt;br /&gt;
&lt;br /&gt;
* $00 - ilość instrumentów&lt;br /&gt;
* $01... - definicje kolejnych instrumentów&lt;br /&gt;
&lt;br /&gt;
Każdy instrument składa się z następujących pól:&lt;br /&gt;
&lt;br /&gt;
* $00 - nr instrumentu&lt;br /&gt;
* $01 - długość obwiedni głośności instrumentu&lt;br /&gt;
* $02 - zapętlenie obwiedni głośności instrumentu&lt;br /&gt;
* $03 - znieksztalcenie (AUDCx)&lt;br /&gt;
* $04... - kolejne bajty obwiedni głośności&lt;br /&gt;
* $xx - długość obwiedni częstotliwościowej instrumentu&lt;br /&gt;
* $xx+$01 - zapętlenie obwiedni częstotliwościowej instrumentu&lt;br /&gt;
* $xx+$02 - ?&lt;br /&gt;
* $xx+$03... - kolejne bajty obwiedni częstotliwościowej instrumentu&lt;br /&gt;
&lt;br /&gt;
Obwiednia częstotliwościowa przyjmuje 8, jako &amp;quot;wartość zerową&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Dane patternów ===&lt;br /&gt;
&lt;br /&gt;
Dane patternów zaczynają się pojedynczym bajtem określającym ich ilość.&lt;br /&gt;
&lt;br /&gt;
* $00 - ilość patternów&lt;br /&gt;
* $01... - definicje kolejnych patternów&lt;br /&gt;
&lt;br /&gt;
Każdy pattern zawiera dane na wszystkich 4 kanałów POKEYa naraz i tworzy następującą strukturę:&lt;br /&gt;
&lt;br /&gt;
* $00 - nr patternu&lt;br /&gt;
* $01 - długość patternu&lt;br /&gt;
* $02 - tempo&lt;br /&gt;
* $03 - wartość wpisywana do rejestru kontroli AUDCTL&lt;br /&gt;
* $04... - definicje ścieżek dla 4 kanałów POKEYa&lt;br /&gt;
&lt;br /&gt;
Każda ścieżka składa się z pól:&lt;br /&gt;
&lt;br /&gt;
* $00 - długość ścieżki&lt;br /&gt;
* $01... - dane ścieżki&lt;br /&gt;
&lt;br /&gt;
Ścieżka zawiera następujące polecenia:&lt;br /&gt;
&lt;br /&gt;
* $00..$3f: nuta&lt;br /&gt;
* $40..$5f: instrument (bity 0..4)&lt;br /&gt;
* $80..$ff: odstęp od następnej nuty (bity 0..6)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;UWAGA!&amp;#039;&amp;#039;&amp;#039; Odstęp od następnej nuty wyznacza ilość pustych linii między kolejnymi nutami.&lt;br /&gt;
&lt;br /&gt;
Przykład 1: Sekwencja $80,$00,$00,$81,$00 oznacza fragment patternu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;C-1&lt;br /&gt;
C-1&lt;br /&gt;
---&lt;br /&gt;
C-1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Przykład 2: Sekwencja $81,$00,$00 oznacza fragment patternu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;---&lt;br /&gt;
C-1&lt;br /&gt;
---&lt;br /&gt;
C-1&lt;br /&gt;
---&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dane songu ===&lt;br /&gt;
&lt;br /&gt;
Opis songu tworzy następującą strukturę:&lt;br /&gt;
&lt;br /&gt;
* $00 - zapętlenie songu&lt;br /&gt;
* $01 - długość songu&lt;br /&gt;
* $02... - kolejne numery patternów&lt;br /&gt;
&lt;br /&gt;
== Postać skompresowana ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| offset&lt;br /&gt;
| długość&lt;br /&gt;
| opis&lt;br /&gt;
|-&lt;br /&gt;
| $0000&lt;br /&gt;
| $0004&lt;br /&gt;
| tablica zapętleń tracków&lt;br /&gt;
|-&lt;br /&gt;
| $0004&lt;br /&gt;
| $0004&lt;br /&gt;
| tablica LSB adresów tracków&lt;br /&gt;
|-&lt;br /&gt;
| $0008&lt;br /&gt;
| $0004&lt;br /&gt;
| tablica MSB adresów tracków&lt;br /&gt;
|-&lt;br /&gt;
| $000C&lt;br /&gt;
| $0002&lt;br /&gt;
| adres tablicy adresów patternów&lt;br /&gt;
|-&lt;br /&gt;
| $000E&lt;br /&gt;
| $0002&lt;br /&gt;
| adres tablicy adresów obwiedni głośności&lt;br /&gt;
|-&lt;br /&gt;
| $0010&lt;br /&gt;
| $0002&lt;br /&gt;
| adres tablicy adresów obwiedni częstotliwości&lt;br /&gt;
|-&lt;br /&gt;
| $0012&lt;br /&gt;
| $0002&lt;br /&gt;
| adres tablicy instrumentów&lt;br /&gt;
|-&lt;br /&gt;
| $0014&lt;br /&gt;
| ...&lt;br /&gt;
| definicje tracków&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| tablica adresów patternów&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| tablica adresów obwiedni głośności&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| tablica adresów obwiedni częstotliwości&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| tablica instrumentów&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| dane obwiedni głośności&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| dane obwiedni częstotliwości&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| dane patternów&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Track ===&lt;br /&gt;
&lt;br /&gt;
Rozkazy, które może zawierać track:&lt;br /&gt;
&lt;br /&gt;
* $00..$FC - numer patternu do odegrania,&lt;br /&gt;
* $FD xx - ustawia AUDCTL wartością xx,&lt;br /&gt;
* $FE xx - ustawia tempo,&lt;br /&gt;
* $FF - powoduje zapętlenie tracka.&lt;br /&gt;
&lt;br /&gt;
=== Pattern ===&lt;br /&gt;
&lt;br /&gt;
Rozkazy, które może zawierać pattern:&lt;br /&gt;
&lt;br /&gt;
* $00..$3F - nuta,&lt;br /&gt;
* $40..$7F - instrument (bity 0..5),&lt;br /&gt;
* $80..$FE - odstęp między nutami ([[#Dane patternów|patrz wyżej]]),&lt;br /&gt;
* $FF - koniec patternu.&lt;br /&gt;
&lt;br /&gt;
=== Instrument ===&lt;br /&gt;
&lt;br /&gt;
Każdy instrument składa się z 4 pól:&lt;br /&gt;
&lt;br /&gt;
* $00: zapętlenie obwiedni głośności,&lt;br /&gt;
* $01: zapętlenie obwiedni częstotliwości,&lt;br /&gt;
* $02: zniekształcenie (AUDCx),&lt;br /&gt;
* $03: ?.&lt;br /&gt;
&lt;br /&gt;
=== Obwiednia głośności ===&lt;br /&gt;
&lt;br /&gt;
Rozkazy obwiedni głośności:&lt;br /&gt;
&lt;br /&gt;
* $00..$FE - bajty postaci $xy, gdzie x to kod sterujący, y to głośność,&lt;br /&gt;
* $FF - koniec obwiedni&lt;br /&gt;
&lt;br /&gt;
=== Obwiednia częstotliwości ===&lt;br /&gt;
&lt;br /&gt;
Rozkazy obwiedni głośności:&lt;br /&gt;
&lt;br /&gt;
* $00..$FE - bajty postaci $xy, gdzie x to kod sterujący, y to odchylenie od częstotliwości bazowej,&lt;br /&gt;
* $FF - koniec obwiedni&lt;br /&gt;
&lt;br /&gt;
Odchylenie &amp;quot;zerowe&amp;quot; ma wartość 8.&lt;br /&gt;
&lt;br /&gt;
=== Tablice adresów patternów, obwiedni głośności i obwiedni częstotliwości ===&lt;br /&gt;
&lt;br /&gt;
Każda tablica adresów zawiera adresy zapisane w kolejności LSB, MSB.&lt;br /&gt;
&lt;br /&gt;
== Różności ==&lt;br /&gt;
&lt;br /&gt;
* Obecnie znane są 4 rodzaje procedur odgrywających:&lt;br /&gt;
&lt;br /&gt;
# Procedura dla wersji pre 07 używana w grze [[Miecze Valdgira]]. Wykorzystuje tylko brzmienia jednokanałowe. Obwiednia częstotliwości jest zapętlona, natomiast obwiednia głośności nie.&lt;br /&gt;
# Oryginalna procedura dystrybuowana razem z [[Sound Tracker|Sound Trackerem]] 07. Wykorzystuje jedną tablicę częstotliwości dla kanałów pojedynczych i jedną dla łączonych.&lt;br /&gt;
# Player wykorzystany w grze [[Miecze Valdgira II]]. Wykorzystuje tablice częstotliwości tylko dla kanałów pojedynczych - standardową i basową uaktywnianą dla instrumentów o zniekształceniu $C0.&lt;br /&gt;
# Player wykorzystany w grze [[Świat Olkiego]]. Wykorzystuje 3 tablice częstotliwości dla kanałów pojedynczych - standardową i dwie basowe dla instrumentów o zniekształceniach $60 i $C0. Dodatkowo włącza filtr górnoprzepustowy w kanale 2 sterowany kanałem 4 (wartość wpisywana do kanału 4 jest o 1 mniejsza niż ta w 2).&lt;br /&gt;
&lt;br /&gt;
* Sam format pliku nie był w żaden sposób modyfikowany pod kątem różnych procedur odgrywających.&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Atari 8-bit]]&lt;br /&gt;
[[Kategoria:Formaty plików]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Atariki recovery</name></author>
	</entry>
</feed>