<?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=TM2</id>
	<title>TM2 - 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=TM2"/>
	<link rel="alternate" type="text/html" href="https://mirror.atariki.pl/w/index.php?title=TM2&amp;action=history"/>
	<updated>2026-10-02T17:09:21Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://mirror.atariki.pl/w/index.php?title=TM2&amp;diff=3856&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=TM2&amp;diff=3856&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;Format modułu muzycznego używany przez program [[Theta Music Composer]] 2.0.&lt;br /&gt;
&lt;br /&gt;
Plik w tym formacie zawiera normalny [[COM#Nagłówek|nagłówek binarny]], składa się z jednego bloku.&lt;br /&gt;
Wewnątrz znajdują się następujące dane:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| offset&lt;br /&gt;
| długość&lt;br /&gt;
| zawartość&lt;br /&gt;
|-&lt;br /&gt;
| $0000&lt;br /&gt;
| $0017&lt;br /&gt;
| identyfikator pliku w formacie TMC 2.0: 14,21,13+128,c&amp;#039;TMC SONG FILE 2.0&amp;#039;*,13+128,21,14&lt;br /&gt;
|-&lt;br /&gt;
| $0017&lt;br /&gt;
| $0002&lt;br /&gt;
| długość danych w pamięci&lt;br /&gt;
|-&lt;br /&gt;
| $0019&lt;br /&gt;
| $0005&lt;br /&gt;
| konfiguracja POKEYa i sposób odtwarzania&lt;br /&gt;
|-&lt;br /&gt;
| $001e&lt;br /&gt;
| $0001&lt;br /&gt;
| początkowa szybkość odtwarzania utworu&lt;br /&gt;
|-&lt;br /&gt;
| $001f&lt;br /&gt;
| $0001&lt;br /&gt;
| ilość wywołań playera na ramkę&lt;br /&gt;
|-&lt;br /&gt;
| $0020&lt;br /&gt;
| $0060&lt;br /&gt;
| dane informacyjne o utworze wpisane przez autora; z racji istnienia ramek bocznych w programie, bajty $20,$3f,$40,$5f,$60,$7f są obecnie nieużywane&lt;br /&gt;
|-&lt;br /&gt;
| $0080&lt;br /&gt;
| $0080&lt;br /&gt;
| młodsze bajty adresów instrumentów&lt;br /&gt;
|-&lt;br /&gt;
| $0100&lt;br /&gt;
| $0100&lt;br /&gt;
| młodsze bajty adresów patternów&lt;br /&gt;
|-&lt;br /&gt;
| $0200&lt;br /&gt;
| $0100&lt;br /&gt;
| starsze bajty adresów patternów&lt;br /&gt;
|-&lt;br /&gt;
| $0300&lt;br /&gt;
| $0080&lt;br /&gt;
| starsze bajty adresów instrumentów&lt;br /&gt;
|-&lt;br /&gt;
| $0380&lt;br /&gt;
| ...&lt;br /&gt;
| dane songu&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
| ...&lt;br /&gt;
| dane instrumentów i paternów (zgodnie z adresami w tablicy); uwaga, nie są one ustawione kolejno, ale zgodnie z zasadą: ostatnio używany na koniec&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Konfiguracja ===&lt;br /&gt;
&lt;br /&gt;
* quadro - $00: mono, $01-$3f: stereo, $40-$7f: RMT stereo, $80-$ff: quadro&lt;br /&gt;
* pokeys - 4 bajty przyporządkowujące kanały TMC do układów POKEY, kolejno:&lt;br /&gt;
** bajt 0: 1-4 kanał obwiedni podstawowej,&lt;br /&gt;
** bajt 1: 5-8 kanał obwiedni podstawowej,&lt;br /&gt;
** bajt 2: 1-4 kanał obwiedni dodatkowej,&lt;br /&gt;
** bajt 3: 5-8 kanał obwiedni dodatkowej&lt;br /&gt;
&lt;br /&gt;
W trybie mono, stereo i RMT wartość 16 oznacza pierwszego POKEY-a, a 20 drugiego.&lt;br /&gt;
W trybie quadro wartości 0, 4, 8, 12 odpowiadają kolejnym układom.&lt;br /&gt;
&lt;br /&gt;
=== Dane songu ===&lt;br /&gt;
&lt;br /&gt;
* wartość transpozycji, numer patternu na ostatnim kanale&lt;br /&gt;
* wartość transpozycji, numer patternu na przedostatnim kanale&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
* wartość transpozycji, numer patternu na pierwszym kanale&lt;br /&gt;
* bajt długości patternów($01-$40), lub koniec odgrywania ($00) lub skok do pozycji w songu ($80-$ff), numer linii do skoku znajduje się w poprzednim bajcie (nr patternu na pierwszym kanale)&lt;br /&gt;
&lt;br /&gt;
=== Dane instrumentów ===&lt;br /&gt;
&lt;br /&gt;
* 19 bajtów konfiguracyjnych dźwięku:&lt;br /&gt;
** 8 bajtów transpozycji używanych przy definiowaniu arpeggio&lt;br /&gt;
** długość danych obwiedni&lt;br /&gt;
** punkt zapętlenia (Uwaga, ta wartość jest 3 razy większa od tej używanej w TMC.)&lt;br /&gt;
** barwa filtru (przy filtrowanych dźwiękach 2-kanałowych).&lt;br /&gt;
** pierwsza wartość AUDCTL, kontrolującego brzmienie dźwięku, typowo wpisywane są tam wartości: 0 dla zwykłego dźwięku, 6 - dla dwukanałowego filtru lub 78 dla dwukanałowego basu (używane są tylko bity mające znaczenie na danym kanale, dlatego można włączyć obydwa filtry lub basy naraz).&lt;br /&gt;
** druga wartość AUDCTL.&lt;br /&gt;
** prędkość opadania głównej obwiedni.&lt;br /&gt;
** prędkość opadania obwiedni dodatkowej.&lt;br /&gt;
** typ dźwięku (pierwsza cyfra) i parametr do niego (druga cyfra).&lt;br /&gt;
** opóźnienie rozpoczęcia działania typu dźwięku.&lt;br /&gt;
** dwa najwyższe bity określają tablicę częstotliwości: 00 jest używana przy zniekształceniu A, 40 i 80 przy C, a C0 już nie pamiętam; pozostała wartość określa jak szybko ma działać modyfikacja dźwięku za pomocą jego typu. Przy dźwiękach dwukanałowych 80 oznacza to samo co 00 a C0 to samo co 40.&lt;br /&gt;
** pierwsza cyfra to ilość używanych wartości do arpeggio (ostatni rząd wartości w definicji instrumentu) oraz tempo ich zmiany. Standardowo wartości transpozycji brane są od pierwszej do ostatniej. Jeśli pierwsza cyfra powiększona jest o 8, to brane są od pierwsze do ostatniej i z powrotem od ostatniej do pierwszej i tak w kółko.&lt;br /&gt;
&lt;br /&gt;
* do 255 bajtów obwiedni dźwięku (tyle ile ustalono w jej długości), ustawione w trójki $AB,$CD,$EF, gdzie:&lt;br /&gt;
** A: zniekształcenie&lt;br /&gt;
** B: głośność podstawowej obwiedni&lt;br /&gt;
** C: rodzaj akcentu&lt;br /&gt;
** D: głośność dodatkowej obwiedni&lt;br /&gt;
** EF: parametr do akcentu&lt;br /&gt;
&lt;br /&gt;
Typ dźwięku:&lt;br /&gt;
&lt;br /&gt;
* 0: czysty dźwięk.&lt;br /&gt;
* 1: lekkie vibrato. Częstotliwości wyliczane są w następujący sposób: bazowa, bazowa+parametr, bazowa, bazowa-parametr i tak w kółko.&lt;br /&gt;
* 2: vibrato. Częstotliwość płynnie przechodzi pomiędzy bazowa-parametr a bazowa+parametr i na odwrót.&lt;br /&gt;
* 3: duże vibrato. Podobnie jak powyżej, ale wszystko liczone jest na transpozycji nut, a nie wyliczonej częstotliwości.&lt;br /&gt;
* 4: opadanie wysokości dźwięku.&lt;br /&gt;
* 5: szybkie opadanie wysokości dźwięku (po nutach).&lt;br /&gt;
* 6: stałe dodanie parametru do częstotliwości.&lt;br /&gt;
* 7: nieużywane (na razie).&lt;br /&gt;
&lt;br /&gt;
Wartości powiększone o 8 powodują branie parametru ze znakiem minus.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;UWAGA!&amp;#039;&amp;#039;&amp;#039; Oryginalny TMC2 zawiera błąd, który powoduje że parametr zawsze jest traktowany jako dodatni (niezależnie od tego, czy typ jest zwiększony o 8 czy nie).&lt;br /&gt;
&lt;br /&gt;
Rodzaj akcentu:&lt;br /&gt;
&lt;br /&gt;
* 0: do wyliczonej częstotliwości dodawana jest wartość parametru&lt;br /&gt;
* 1: wartość parametru na stałe będzie powiększać częstotliwość dźwięku (będzie dodawana we wszystkich słupkach, a nawet będzie się sumować sama ze sobą).&lt;br /&gt;
* 2: transpozycja dźwięku&lt;br /&gt;
* 3: stała transpozycja dźwięku (patrz akcent 1).&lt;br /&gt;
* 4: zmiana barwy filtru (częstotliwość filtrującego kanału jest powiększana o tą wartość).&lt;br /&gt;
* 5: stała zmiana barwy filtru (patrz akcent 1).&lt;br /&gt;
* 6: grana jest ustalona częstotliwość.&lt;br /&gt;
* 7: grana jest ustalona nuta.&lt;br /&gt;
&lt;br /&gt;
W przypadku zwiększenia wartości akcentu o 8, zamiast pierwszej wartości AUDCTL jest brana druga.&lt;br /&gt;
&lt;br /&gt;
=== Dane paternów ===&lt;br /&gt;
&lt;br /&gt;
Szereg poleceń, typ polecenia i jego długość jest rozpoznawana po pierwszym bajcie:&lt;br /&gt;
&lt;br /&gt;
* $00: + nowa głośność&lt;br /&gt;
* $01-$3f: nowa nuta + instrument (jeśli instrument&amp;gt;=128, to instrument jest brany bez ostatniego bitu i dochodzi dodatkowy bajt: nowa głośność)&lt;br /&gt;
* $40: nieużywane&lt;br /&gt;
* $41-$7f: nowa nuta + nowa głośność&lt;br /&gt;
* $80: + ilość pustych linii w patternie (używane tylko wtedy gdy ich ilość wynosi przynajmniej 15)&lt;br /&gt;
* $81-$bc: nowa nuta&lt;br /&gt;
* $c0-$cf: nowe tempo (ten kod poprzedza kod dotyczący pozostałych informacji w tej linii)&lt;br /&gt;
* $d0-$df: kod specjalny + jego wartość&lt;br /&gt;
* $e0-$ef: kod specjalny + jego wartość + nowa głośność&lt;br /&gt;
* $f0-$fe: puste linie (od 0 do 14, kod 0 jest używany, gdy w danej linii jest tylko zmiana tempa)&lt;br /&gt;
* $ff: puste linie aż do końca patternu&lt;br /&gt;
&lt;br /&gt;
Kody specjalne:&lt;br /&gt;
&lt;br /&gt;
* 0: powoduje ustawienia specjalnego znacznika na podaną wartość. Może to być przydatne w demach, gdzie muzyk może w muzyce zaznaczyć miejsce zmiany efektu.&lt;br /&gt;
* 1: identyczny z parametrem instrumentu dotyczącym typu efektu i parametru do niego.&lt;br /&gt;
* 2: identyczny z parametrem instrumentu dotyczącym szybkości zmiany efektu.&lt;br /&gt;
* 3: identyczny z parametrem instrumentu dotyczącym arpeggio.&lt;br /&gt;
* 4: identyczny z barwą filtru.&lt;br /&gt;
* 5: identyczny z pierwszą wartością AUDCTL.&lt;br /&gt;
* 6: identyczny z drugą wartością AUDCTL.&lt;br /&gt;
* 7: podbicie wartości filtru&lt;br /&gt;
* 8: podbicie wartości częstotliwości&lt;br /&gt;
* 9: podbicie wartości nuty&lt;br /&gt;
&lt;br /&gt;
== Linki ==&lt;br /&gt;
&lt;br /&gt;
* [[INS (Theta Music Composer 2)|INS]]&lt;br /&gt;
* [[PTR (Theta Music Composer 2)|PTR]]&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Formaty plików]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Atariki recovery</name></author>
	</entry>
</feed>