Raster Music Tracker: Różnice pomiędzy wersjami

Z Atariki
Przejdź do nawigacji Przejdź do wyszukiwania
Tebe (dyskusja | edycje)
Nie podano opisu zmian
Mono (dyskusja | edycje)
m →Zobacz też: ładne linki
 
(Nie pokazano 44 wersji utworzonych przez 6 użytkowników)
Linia 1: Linia 1:
Program działający w środowisku MS Windows umożliwiający tworzenie 4- jak i 8-kanałowych ([[Stereo]]) modułów dla [[Atari 8-bit|ośmiobitowego Atari]] przy wykorzystaniu bibliotek emulujących układy [[6502]] i [[POKEY]]. Autorem jest [[Raster/C.P.U.]] Program jest ciągle rozwijany, najnowsza dostępna obecnie wersja to 1.28.
[[Grafika:Rmt1.gif|GR.0|right]]
Program działający w środowisku MS Windows umożliwiający tworzenie muzyki dla [[Atari 8-bit|ośmiobitowego Atari]] przy wykorzystaniu bibliotek emulujących układy [[6502]] i [[POKEY]].


Autorem był [[Raster/C.P.U.]], obecnie zaś rozwojem programu kieruje [[VinsCool]].


http://raster.infos.cz/atari/rmt/rmt1.gif
== Opis ==
Program pozwala na tworzenie dosyć zaawansowanych instrumentów, które użyć można następnie w muzyce lub efektach specjalnych.  


<BR>
Podstawowe cechy to:
Format zapisu modułu RMT:
* tworzenie 4- jak i 8-kanałowych ([[Stereo]]) modułów,
<pre>
* odtwarzanie modułu do 4 &times; na ramkę,
RMT 1.x module format
* użycie do 64 instrumentów,
--------------------------------
* użycie do 254 patternów,
* regulację długości patternu,
* song może mieć do 256 pozycji.


Przy komponowaniu można też korzystać z instrumentu podłączanego do komputera za pośrednictwem interfejsu MIDI.


header struct
W pakiecie znajdziemy również gotowe procedury odtwarzające, wraz ze źródłami.
=============


offset type desc
Ostatnią wersją programu udostępnioną przez autora jest RMT 1.28.
------ ---- ----
00 WORD header string 'RMT4' or 'RMT8'
04 BYTE track len ($00 means 256)
05 BYTE song speed
06 BYTE player freq
07 BYTE format version number ($01 for player routine 1.x compatible format)
08 WORD pointer to instruments table
0a WORD pointer to tracks table (lo)
0c WORD pointer to tracks table (hi)
0e WORD pointer to tracks list (SONG)


Najbardziej rozpowszechniony na [[scena|scenie]].


instrument struct
== Emulacja ==
=================
Tracker odtwarza dźwięk emulując działanie CPU 6502 i POKEY-a za pomocą bibliotek dostarczanych wraz z RMT:
* sa_c6502.dll
* sa_pokey.dll
a udostępnianych [http://raster.atariportal.cz/sa_libraries/sa_libraries.htm na stronie] [[Raster]]a.


offset type desc
[[Analmux]] do patcha BRK implementował własną wersję biblioteki sa_pokey.dll opisywaną w [https://forums.atariage.com/topic/118448-implementation-of-pokey-2-tone-filter-in-emulation/ tym wątku] na forum [[AtariAge]].
------ ---- ----
00 BYTE tlen (pointer to end of table of notes)
01 BYTE tgo (pointer to loop of table of notes)
02 BYTE elen (pointer to end of envelope)
03 BYTE ego (pointer to loop of envelope)
04 BYTE tspd (bit 0-5), tmode (bit 6), ttype (bit 7)
05 BYTE audctl
06 BYTE vslide
07 BYTE vmin(bit 4-7)
08 BYTE delay ($00 for no vibrato & no fshift)
09 BYTE vibrato
0a BYTE fshift
0b BYTE unused
0c table of notes
? envelope


Począwszy od wersji 1.27 RMT pozwala wykorzystać bibliotekę emulacji [[POKEY]]a z projektu [http://asap.sourceforge.net ASAP]:
* [http://asap.sourceforge.net/apokeysnd.dll apokeysnd.dll]
[[Antrykot]] udostępnił własną modyfikację biblioteki apokeysnd.dll, którą opisywał w [https://forums.atariage.com/topic/275737-air-man-mega-man-2-atari-pokey-cover/page/2/#findComment-3975190 tym wątku] na forum [[AtariAge]].


TABLE OF NOTES struct
== Modyfikacje ==
=====================
Na forum [[AtariAge]] rozwijały się dyskusje których skutkiem były kolejne modyfikacje procedury odtwarzającej i "łatane" wersje Trackera. Odpowiedzialny za te modyfikacje był [[Analmux]] i [[Miker]], choć zmiany inspirowało więcej osób.
BYTE note or frequence (according to the ttype)


Ponieważ kod trackera nie był otwarty, każda "łatka" bazowała wyłącznie na:
* zmianach typu zniekształcenia,
* modyfikacjach tablic częstotliwości,
* ewentualnym usunięciu 16-bitowego basu na rzecz dodatkowych tablic dla brzmień 8-bitowych,
* zmianach kodu procedury odtwarzającej.
'''Nie zmieniał się natomiast nigdy [[RMT (format pliku)|format pliku RMT]]!''' i z tego powodu nie można automatycznie rozpoznać jakiego patcha wymaga dany utwór (chyba, że dysponujemy plikiem wykonywalnym [[XEX]]).


ENVELOPE struct
Raster Music Tracker definiuje
===============
8 rodzajów brzmień (wytłuszczenie oznacza brzmienie 16-bitowe, jego brak zaś 8-bitowe):
BYTE volume (bit 0-3 left channel) (bits 4-7 right channel
<table border=1>
      (in RMT4 it's the same as bits 0-3))
<tr><td>nr</td><td>tablica</td><td>AUDC</td></tr>
BYTE portamento (bit 0), distortion(bit 1-3),
<tr><td>0</td><td>puretone</td><td>$0v</td></tr>
      command (bit 4-6), filter (bit 7)
<tr><td>1</td><td>puretone</td><td>$2v</td></tr>
BYTE XY
<tr><td>2</td><td>puretone</td><td>$4v</td></tr>
<tr><td>3</td><td><b>bass16bit</b></td><td>$Cv</td></tr>
<tr><td>4</td><td>puretone</td><td>$8v</td></tr>
<tr><td>5</td><td>puretone</td><td>$Av</td></tr>
<tr><td>6</td><td>bass1</td><td>$Cv</td></tr>
<tr><td>7</td><td>bass2</td><td>$Cv</td></tr>
</table>
oraz 5 tablic po 64 tony każda:
<table border=1>
<tr><td>nr</td><td>offset</td><td>tablica</td></tr>
<tr><td>0</td><td>-</td><td><b>bass16bit</b> LSB</td></tr>
<tr><td>1</td><td>$00</td><td>bass1</td></tr>
<tr><td>2</td><td>$40</td><td>bass2</td></tr>
<tr><td>3</td><td>$80</td><td>puretone</td></tr>
<tr><td>4</td><td>-</td><td><b>bass16bit</b> MSB</td></tr>
</table>
Tablica 0 i 4 składają się na kompletną 16-bitową wartość wpisywaną do połączonych kanałów 1+2 lub 3+4. Pozostałe tablice definiują tony 8-bitowe.


=== Patch BRK ===
https://forums.atariage.com/topic/106228-raster-music-tracker-hardsynth-hack/


TRACK struct
Patch na RMT 1.25 wypuszczony 29 IV 2007 przez [[Analmux]]a pod pseudonimem [[BRK]].
============


BYTE
Zmieniono:
bit 0-5 note
* rodzaj zniekształcenia w brzmieniu 2
bit 6-7 volume(HI) or pause(1-3 beats) or special
* przypisane tablice w brzmieniach 1 i 2
<table border=1>
<tr><td>nr</td><td>tablica</td><td>AUDC</td></tr>
<tr><td>0</td><td>puretone</td><td>$0v</td></tr>
<tr><td>1</td><td><i>bass1</i></td><td>$2v</td></tr>
<tr><td>2</td><td><i>bass2</i></td><td><i>$Av</i></td></tr>
<tr><td>3</td><td><b>bass16bit</b></td><td>$Cv</td></tr>
<tr><td>4</td><td>puretone</td><td>$8v</td></tr>
<tr><td>5</td><td>puretone</td><td>$Av</td></tr>
<tr><td>6</td><td>bass1</td><td>$Cv</td></tr>
<tr><td>7</td><td>bass2</td><td>$Cv</td></tr>
</table>
i zmodyfikowano tablice bass1 i bass2.
<table border=1>
<tr><td>nr</td><td>offset</td><td>tablica</td></tr>
<tr><td>0</td><td>-</td><td><b>bass16bit</b> LSB</td></tr>
<tr><td>1</td><td>$00</td><td><i>bass1</i></td></tr>
<tr><td>2</td><td>$40</td><td><i>bass2</i></td></tr>
<tr><td>3</td><td>$80</td><td>puretone</td></tr>
<tr><td>4</td><td>-</td><td><b>bass16bit</b> MSB</td></tr>
</table>
co sumarycznie zmienia brzmienia 1, 2 i 6, 7.


if note is $00-$3c:
=== Patch BRK zmodyfikowany przez Mikera ===
BYTE
https://forums.atariage.com/topic/234400-rmt-128-patch-8-theory/page/2/#findComment-3168725
bit 0-1 volume(LO)
bit 2-7 instrument number


if note is $3d:
Patch na RMT 1.25 przygotowany przez [[Miker]]a.
BYTE
bit 0-1 volume(LO) volume only


if note is $3e:
Zmieniono:
bit 6-7 pause
* rodzaj zniekształcenia w brzmieniu 2
if pause is $01-$03: pause 1-3 beats
* przypisane tablice w brzmieniach 1 i 2
if pause is $00: next byte pause 1-255 beats
<table border=1>
<tr><td>nr</td><td>tablica</td><td>AUDC</td></tr>
<tr><td>0</td><td>puretone</td><td>$0v</td></tr>
<tr><td>1</td><td><i>bass1</i></td><td>$2v</td></tr>
<tr><td>2</td><td><i>bass2</i></td><td><i>$Av</i></td></tr>
<tr><td>3</td><td><b>bass16bit</b></td><td>$Cv</td></tr>
<tr><td>4</td><td>puretone</td><td>$8v</td></tr>
<tr><td>5</td><td>puretone</td><td>$Av</td></tr>
<tr><td>6</td><td>bass1</td><td>$Cv</td></tr>
<tr><td>7</td><td>bass2</td><td>$Cv</td></tr>
</table>
oraz:
* tablicę bass2 przesunięto na miejsce bass1
* zmodyfikowano tablicę bass2
<table border=1>
<tr><td>nr</td><td>offset</td><td>tablica</td></tr>
<tr><td>0</td><td>-</td><td><b>bass16bit</b> LSB</td></tr>
<tr><td>1</td><td>$00</td><td><i>bass1</i></td></tr>
<tr><td>2</td><td>$40</td><td><i>bass2</i></td></tr>
<tr><td>3</td><td>$80</td><td>puretone</td></tr>
<tr><td>4</td><td>-</td><td><b>bass16bit</b> MSB</td></tr>
</table>
co sumarycznie zmienia brzmienia 1, 2 i 6, 7 (przy czym oryginalne brzmienie 7 jest teraz brzmieniem 6).


if note is $3f:
=== Patch 2 ===
if bit 6-7 is zero: next byte speed $01-$ff
https://forums.atariage.com/topic/142394-running-out-of
if bit 6 is zero, 7 is set up: next byte is track jump pointer
(go to $00-$ff from the begin of track data)
if bit 6-7 is set up: END of track


INSTRUMENTS TABLE
Patch na RMT 1.25 wypuszczony 13 IV 2009 przez [[Analmux]]a pod pseudonimem [[BRK]].  
=================
WORD ptr_instr0
WORD ptr_instr1
WORD ptr_instr3
...


TRACKS TABLE (LO)
Zmodyfikowano zniekształcenie brzmień 6 i 7:
=================
<table border=1>
BYTE lowbyte_of_ptr_track0
<tr><td>nr</td><td>tablica</td><td>AUDC</td></tr>
BYTE lowbyte_of_ptr_track1
<tr><td>0</td><td>puretone</td><td>$0v</td></tr>
BYTE lowbyte_of_ptr_track2
<tr><td>1</td><td>puretone</td><td>$2v</td></tr>
...
<tr><td>2</td><td>puretone</td><td>$4v</td></tr>
<tr><td>3</td><td><i>bass1</i></td><td>$Cv</td></tr>
<tr><td>4</td><td>puretone</td><td>$8v</td></tr>
<tr><td>5</td><td>puretone</td><td>$Av</td></tr>
<tr><td>6</td><td><i>bass2</i></td><td><i>$2v</i></td></tr>
<tr><td>7</td><td>bass2</td><td><i>$Av</i></td></tr>
</table>
oraz tablice bass1 i bass2:
<table border=1>
<tr><td>nr</td><td>offset</td><td>tablica</td></tr>
<tr><td>0</td><td>-</td><td><b>bass16bit</b> LSB</td></tr>
<tr><td>1</td><td>$00</td><td><i>bass1</i></td></tr>
<tr><td>2</td><td>$40</td><td><i>bass2</i></td></tr>
<tr><td>3</td><td>$80</td><td>puretone</td></tr>
<tr><td>4</td><td>-</td><td><b>bass16bit</b> MSB</td></tr>
</table>
sumarycznie więc zmieniono brzmienia 3, 6 i 7.


TRACKS TABLE (HI)
Brzmienie 3 nie jest już 16-bitowe i używa 8-bitowej tablicy bass1, a dla brzmienia 6 włączany jest zegar 1.77 MHz i tablica bass2.
=================
BYTE highbyte_of_ptr_track0
BYTE highbyte_of_ptr_track1
BYTE highbyte_of_ptr_track2
...


TRACK LIST struct (SONG)
=== Patch 3 ===
========================
https://forums.atariage.com/topic/228757-instrumentarium-final-release-links-summary
BYTE tracknumL1,tracknumL2,tracknumL3,tracknumL4,[tracknumR1,..,tracknumR4]
BYTE tracknumL1,tracknumL2,tracknumL3,tracknumL4,[tracknumR1,..,tracknumR4]
BYTE tracknumL1,tracknumL2,tracknumL3,tracknumL4,[tracknumR1,..,tracknumR4]
...


if tracknum is FF, then empty track is used
Patch na RMT 1.25 wypuszczony 21 VIII 2009 przez [[Analmux]]a.


if tracknumL1 is FE, then gotoline(BYTE)=tracknumL2, goto_pointer(WORD)=(tracknumL3,4)
Wyjątkowo, jako jedyna spośród znanych, ta łatka modyfikuje zawartość rejestru [[Rejestry POKEY-a#SKCTL|SKCTL]] włączając synchronizację okresu kanału 1 kontrolowaną przez ustawienie okresu kanału 2 (przez kontrolę bitów odpowiadających za transmisję dwutonową). Odbywa się to na pozycjach $18 i $19 songu, ale może być zrealizowane w dowolnym miejscu songu przez modyfikację procedury znajdującej się pod adresem $2000 w wyeksportowanym pliku [[XEX]].
Note: gotoline(BYTE) is not used in player (but tracker uses it)
</pre>


Zmodyfikowano zniekształcenia w brzmieniach 2 i 3, oraz przypisano inne tablice brzmieniom 1 i 2:
<table border=1>
<tr><td>nr</td><td>tablica</td><td>AUDC</td></tr>
<tr><td>0</td><td>puretone</td><td>$0v</td></tr>
<tr><td>1</td><td><i>bass1</i></td><td>$2v</td></tr>
<tr><td>2</td><td><i>bass2</i></td><td><i>$Av</i></td></tr>
<tr><td>3</td><td><b>bass16bit</b></td><td><i>$8v</i></td></tr>
<tr><td>4</td><td>puretone</td><td>$8v</td></tr>
<tr><td>5</td><td>puretone</td><td>$Av</td></tr>
<tr><td>6</td><td>bass1</td><td>$Cv</td></tr>
<tr><td>7</td><td>bass2</td><td>$Cv</td></tr>
</table>
zmodyfikowane zostały wszystkie tablice basów:
<table border=1>
<tr><td>nr</td><td>offset</td><td>tablica</td></tr>
<tr><td>0</td><td>-</td><td><b><i>bass16bit</i></b> LSB</td></tr>
<tr><td>1</td><td>$00</td><td><i>bass1</i></td></tr>
<tr><td>2</td><td>$40</td><td><i>bass2</i></td></tr>
<tr><td>3</td><td>$80</td><td>puretone</td></tr>
<tr><td>4</td><td>-</td><td><b><i>bass16bit</i></b> MSB</td></tr>
</table>
więc finalnie zmieniono brzmienia 1, 2, 3 i 6, 7.
Brzmienie 3 ma dodatkowo włączony 9-bitowy licznik POLY (zamiast 17-bitowego).
=== Patch 4 ===
https://forums.atariage.com/topic/150001-rmt-patch-4
Patch na RMT 1.27 wypuszczony 3 IX 2009 przez [[Analmux]]a.
Zmodyfikowano zniekształcenia, oraz przypisano inne tablice brzmieniom 2 i 3:
<table border=1>
<tr><td>nr</td><td>tablica</td><td>AUDC</td></tr>
<tr><td>0</td><td>puretone</td><td>$0v</td></tr>
<tr><td>1</td><td>puretone</td><td>$2v</td></tr>
<tr><td>2</td><td><i>bass16bit</i> MSB</td><td><i>$Av</i></td></tr>
<tr><td>3</td><td><i>bass16bit</i> LSB</td><td><i>$2v</i></td></tr>
<tr><td>4</td><td>puretone</td><td>$8v</td></tr>
<tr><td>5</td><td>puretone</td><td>$Av</td></tr>
<tr><td>6</td><td>bass1</td><td>$Cv</td></tr>
<tr><td>7</td><td>bass2</td><td>$Cv</td></tr>
</table>
zmodyfikowano tablice 0 i 4 odpowiadające za 16-bitowy bas:
<table border=1>
<tr><td>nr</td><td>offset</td><td>tablica</td></tr>
<tr><td>0</td><td>-</td><td><i>bass16bit</i> LSB</td></tr>
<tr><td>1</td><td>$00</td><td>bass1</td></tr>
<tr><td>2</td><td>$40</td><td>bass2</td></tr>
<tr><td>3</td><td>$80</td><td>puretone</td></tr>
<tr><td>4</td><td>$C0</td><td><i>bass16bit</i> MSB</td></tr>
</table>
a więc zmieniono brzmienia 2 i 3.
Nie ma 16-bitowego basu, a tablice 0 i 4 wykorzystane są jako 8-bitowe. Brzmienie 3 jest taktowane zegarem 1.77 MHz.
=== Patch 5 ===
https://forums.atariage.com/topic/150205-rmt-patch-5
Patch na RMT 1.27 wypuszczony 7 IX 2009 przez [[Analmux]]a.
Zmodyfikowano zniekształcenia, oraz przypisano inne tablice brzmieniom 2 i 3:
<table border=1>
<tr><td>nr</td><td>tablica</td><td>AUDC</td></tr>
<tr><td>0</td><td>puretone</td><td>$0v</td></tr>
<tr><td>1</td><td>puretone</td><td>$2v</td></tr>
<tr><td>2</td><td><i>bass16bit</i> MSB</td><td><i>$Av</i></td></tr>
<tr><td>3</td><td><i>bass2</i></td><td><i>$2v</i></td></tr>
<tr><td>4</td><td>puretone</td><td>$8v</td></tr>
<tr><td>5</td><td>puretone</td><td>$Av</td></tr>
<tr><td>6</td><td>bass1</td><td>$Cv</td></tr>
<tr><td>7</td><td><i>bass16bit</i> LSB</td><td>$Cv</td></tr>
</table>
oraz zmodyfikowano tablice dla 16-bitowgo basu i bass2:
<table border=1>
<tr><td>nr</td><td>offset</td><td>tablica</td></tr>
<tr><td>0</td><td>-</td><td><i>bass16bit</i> LSB</td></tr>
<tr><td>1</td><td>$00</td><td>bass1</td></tr>
<tr><td>2</td><td>$40</td><td><i>bass2</i></td></tr>
<tr><td>3</td><td>$80</td><td>puretone</td></tr>
<tr><td>4</td><td>$C0</td><td><i>bass16bit</i> MSB</td></tr>
</table>
czyli sumarycznie zmieniono brzmienia 2, 3 i 7.
Nie ma brzmień 16-bitowych, a wszystkie kanały taktowane są zegarem bazowym.
=== Patch 6 ===
https://forums.atariage.com/topic/175878-rmt-patch-6
Patch na RMT 1.27 wypuszczony 22 I 2011 przez [[Analmux]]a.
Zmieniono zniekształcenie brzmienia 3:
<table border=1>
<tr><td>nr</td><td>tablica</td><td>AUDC</td></tr>
<tr><td>0</td><td>puretone</td><td>$0v</td></tr>
<tr><td>1</td><td>puretone</td><td>$2v</td></tr>
<tr><td>2</td><td>puretone</td><td>$4v</td></tr>
<tr><td>3</td><td><b>bass16bit</b></td><td><i>$Av</i></td></tr>
<tr><td>4</td><td>puretone</td><td>$8v</td></tr>
<tr><td>5</td><td>puretone</td><td>$Av</td></tr>
<tr><td>6</td><td>bass1</td><td>$Cv</td></tr>
<tr><td>7</td><td>bass2</td><td>$Cv</td></tr>
</table>
oraz obydwie tablice 16-bitowego basu:
<table border=1>
<tr><td>nr</td><td>offset</td><td>tablica</td></tr>
<tr><td>0</td><td>-</td><td><b><i>bass16bit</i></b> LSB</td></tr>
<tr><td>1</td><td>$00</td><td>bass1</td></tr>
<tr><td>2</td><td>$40</td><td>bass2</td></tr>
<tr><td>3</td><td>$80</td><td>puretone</td></tr>
<tr><td>4</td><td>-</td><td><b><i>bass16bit</i></b> MSB</td></tr>
</table>
a więc zmieniono tylko brzmienie 3.
=== Patch 7 ===
https://forums.atariage.com/topic/175883-rmt-patch-7
Patch na RMT 1.27 wypuszczony 22 I 2011 przez [[Analmux]]a.
Nie zmodyfikowano w żadnym brzmieniu żadnego zniekształcenia, ani nie zmieniono przypisań tablic:
<table border=1>
<tr><td>nr</td><td>tablica</td><td>AUDC</td></tr>
<tr><td>0</td><td>puretone</td><td>$0v</td></tr>
<tr><td>1</td><td>puretone</td><td>$2v</td></tr>
<tr><td>2</td><td>puretone</td><td>$4v</td></tr>
<tr><td>3</td><td><b>bass16bit</b></td><td>$Cv</td></tr>
<tr><td>4</td><td>puretone</td><td>$8v</td></tr>
<tr><td>5</td><td>puretone</td><td>$Av</td></tr>
<tr><td>6</td><td>bass1</td><td>$Cv</td></tr>
<tr><td>7</td><td>bass2</td><td>$Cv</td></tr>
</table>
ale zmieniono obydwie tablice dla 16-bitowego basu:
<table border=1>
<tr><td>nr</td><td>offset</td><td>tablica</td></tr>
<tr><td>0</td><td>-</td><td><b><i>bass16bit</i></b> LSB</td></tr>
<tr><td>1</td><td>$00</td><td>bass1</td></tr>
<tr><td>2</td><td>$40</td><td>bass2</td></tr>
<tr><td>3</td><td>$80</td><td>puretone</td></tr>
<tr><td>4</td><td>-</td><td><b><i>bass16bit</i></b> MSB</td></tr>
</table>
a więc finalnie zmieniono brzmienie 3.
=== Patch 8 ===
https://forums.atariage.com/topic/234769-rmt-patch-8
Ostatni patch na RMT 1.28 wypuszczony 7 II 2015 przez [[Analmux]]a.
Przedefiniowuje zniekształcenia dla brzmień 2, 4 i 7 oraz przypisuje nowe tablice wszystkim brzmieniom prócz 3:
<table border=1>
<tr><td>nr</td><td>tablica</td><td>AUDC</td></tr>
<tr><td>0</td><td><i>pure</i></td><td>$0v</td></tr>
<tr><td>1</td><td><i>poly5</i></td><td>$2v</td></tr>
<tr><td>2</td><td><i>sawtooth</i></td><td><i>$Av</i></td></tr>
<tr><td>3</td><td><i><b>cldglo</b></i></td><td>$Cv</td></tr>
<tr><td>4</td><td><i>cldghi</i></td><td><i>$Av</i></td></tr>
<tr><td>5</td><td><i>pure</i></td><td>$Av</td></tr>
<tr><td>6</td><td><i>poly4</i></td><td>$Cv</td></tr>
<tr><td>7</td><td><i><b>cldglo</b></i></td><td><i>$8v</i></td></tr>
</table>
i wykorzystując obszar zajmowany przez 5 tablic częstotliwości, wprowadza dodatkowe o mniejszej ilości tonów:
<table border=1>
<tr>
<td>nr</td>
<td>offset</td>
<td>tablica</td>
<td>offset</td>
<td>tablica</td>
</tr>
<tr>
<td rowspan="2">0</td>
<td rowspan="2">-</td>
<td rowspan="2"><i><b>cldglo</b></i></td>
<td>$00</td>
<td><i><b>cllo</b></i></td>
</tr>
<tr>
<td>$20</td>
<td><i><b>dglo</b></i></td>
</tr>
<tr>
<td rowspan="2">1</td>
<td rowspan="2">$00</td>
<td rowspan="2"><i>pure</i></td>
<td>$00</td>
<td><i>purebass</i></td>
</tr>
<tr>
<td>$30</td>
<td><i>pureflute</i></td>
</tr>
<tr>
<td>2</td>
<td>$3C</td>
<td colspan="3"><i>poly5</i></td>
</tr>
<tr>
<td rowspan="2">3</td>
<td rowspan="2">$6C</td>
<td rowspan="2"><i>poly4</i></td>
<td>$00 ($6C)</td>
<td><i>polydeg41</i></td>
</tr>
<tr>
<td>$1F ($8B)</td>
<td><i>polydeg43</i></td>
</tr>
<tr>
<td>4</td>
<td>$9C</td>
<td colspan="3"><i>sawtooth</i></td>
</tr>
<tr>
<td rowspan="2">5</td>
<td rowspan="2">$C0</td>
<td rowspan="2"><i>cldghi</i></td>
<td>$00 ($C0)</td>
<td><i>clhi</i></td>
</tr>
<tr>
<td>$20 ($E0)</td>
<td><i>dghi</i></td>
</tr>
</table>
a więc przedefiniowuje wszystkie brzmienia.
Brzmienia 3 i 7 są 16-bitowe, taktowane zegarem 1.77 MHz i mają włączony 9-bitowy rejestr POLY (zamiast 17-bitowego).
Tony z tablic podzielonych na dwie części dostępne są w dolnych rejestrach (pierwsza część), i górnych (druga część) dla wybranej tablicy głównej.
=== Patch 0a ===
https://forums.atariage.com/topic/246784-rmt-128_0a-a-type-16-bit-bass-patch
Patch na RMT 1.28 wypuszczony 15 XII 2015 przez [[Miker]]a.
Zmieniono zniekształcenie brzmienia 3:
<table border=1>
<tr><td>nr</td><td>tablica</td><td>AUDC</td></tr>
<tr><td>0</td><td>puretone</td><td>$0v</td></tr>
<tr><td>1</td><td>puretone</td><td>$2v</td></tr>
<tr><td>2</td><td>puretone</td><td>$4v</td></tr>
<tr><td>3</td><td><b>bass16bit</b></td><td><i>$Av</i></td></tr>
<tr><td>4</td><td>puretone</td><td>$8v</td></tr>
<tr><td>5</td><td>puretone</td><td>$Av</td></tr>
<tr><td>6</td><td>bass1</td><td>$Cv</td></tr>
<tr><td>7</td><td>bass2</td><td>$Cv</td></tr>
</table>
oraz obydwie tablice 16-bitowego basu:
<table border=1>
<tr><td>nr</td><td>offset</td><td>tablica</td></tr>
<tr><td>0</td><td>-</td><td><b><i>bass16bit</i></b> LSB</td></tr>
<tr><td>1</td><td>$00</td><td>bass1</td></tr>
<tr><td>2</td><td>$40</td><td>bass2</td></tr>
<tr><td>3</td><td>$80</td><td>puretone</td></tr>
<tr><td>4</td><td>-</td><td><b><i>bass16bit</i></b> MSB</td></tr>
</table>
czyli zmodyfikowano tylko brzmienie 3.
== Dalsze losy ==
Po śmierci autora RMT, program nie został zapomniany, ale kilka osób ulepsza/poprawia jego funkcje, m.in. [[VinsCool]]. Ostatnia wersja programu to 1.34 i od tej wersji program stał się 'open source'.


==Zobacz też==
==Zobacz też==
* [http://raster.infos.cz/atari/rmt/rmt.htm Strona domowa]
* [[RMT (format pliku)|RMT]]
* [[RTI (format pliku)|RTI]]
 
==Odnośniki zewnętrzne==
* [https://github.com/VinsCool/RASTER-Music-Tracker Strona domowa] na GitHubie
* [http://raster.infos.cz/atari/rmt/rmt.htm Strona domowa] u [[Raster/C.P.U.|Rastera]] (nieaktualizowana)
* [https://forums.atariage.com/topic/328790-release-raster-music-tracker-v13400/#comments Dyskusja na Atari-Age]
* [https://forums.atariage.com/topic/234400-rmt-128-patch-8-theory/page/2/#findComment-3168725 RMT 1.25 patch BRK] zmodyfikowany przez [[Miker]]a
* [https://forums.atariage.com/topic/228757-instrumentarium-final-release-links-summary/#findComment-3053631 RMT 1.25 patch 3]
* [https://forums.atariage.com/topic/175878-rmt-patch-6/#findComment-2542369 RMT 1.27 patch 6]
* [https://forums.atariage.com/topic/175883-rmt-patch-7/#findComment-5615994 RMT 1.27 patch 7]
* [https://forums.atariage.com/topic/234769-rmt-patch-8/ RMT 1.28 patch 8]
* [https://forums.atariage.com/topic/246784-rmt-128_0a-a-type-16-bit-bass-patch/#findComment-3393807 RMT 1.28 patch 0a]


{{stub}}
[[Kategoria:Emulacja]]
[[Kategoria:Emulacja]]
[[Kategoria:Edytory muzyczne]]
[[Kategoria:Edytory muzyczne]]

Aktualna wersja z 31 maj 2026, 13:08

GR.0
GR.0

Program działający w środowisku MS Windows umożliwiający tworzenie muzyki dla ośmiobitowego Atari przy wykorzystaniu bibliotek emulujących układy 6502 i POKEY.

Autorem był Raster/C.P.U., obecnie zaś rozwojem programu kieruje VinsCool.

Opis

Program pozwala na tworzenie dosyć zaawansowanych instrumentów, które użyć można następnie w muzyce lub efektach specjalnych.

Podstawowe cechy to:

  • tworzenie 4- jak i 8-kanałowych (Stereo) modułów,
  • odtwarzanie modułu do 4 × na ramkę,
  • użycie do 64 instrumentów,
  • użycie do 254 patternów,
  • regulację długości patternu,
  • song może mieć do 256 pozycji.

Przy komponowaniu można też korzystać z instrumentu podłączanego do komputera za pośrednictwem interfejsu MIDI.

W pakiecie znajdziemy również gotowe procedury odtwarzające, wraz ze źródłami.

Ostatnią wersją programu udostępnioną przez autora jest RMT 1.28.

Najbardziej rozpowszechniony na scenie.

Emulacja

Tracker odtwarza dźwięk emulując działanie CPU 6502 i POKEY-a za pomocą bibliotek dostarczanych wraz z RMT:

  • sa_c6502.dll
  • sa_pokey.dll

a udostępnianych na stronie Rastera.

Analmux do patcha BRK implementował własną wersję biblioteki sa_pokey.dll opisywaną w tym wątku na forum AtariAge.

Począwszy od wersji 1.27 RMT pozwala wykorzystać bibliotekę emulacji POKEYa z projektu ASAP:

Antrykot udostępnił własną modyfikację biblioteki apokeysnd.dll, którą opisywał w tym wątku na forum AtariAge.

Modyfikacje

Na forum AtariAge rozwijały się dyskusje których skutkiem były kolejne modyfikacje procedury odtwarzającej i "łatane" wersje Trackera. Odpowiedzialny za te modyfikacje był Analmux i Miker, choć zmiany inspirowało więcej osób.

Ponieważ kod trackera nie był otwarty, każda "łatka" bazowała wyłącznie na:

  • zmianach typu zniekształcenia,
  • modyfikacjach tablic częstotliwości,
  • ewentualnym usunięciu 16-bitowego basu na rzecz dodatkowych tablic dla brzmień 8-bitowych,
  • zmianach kodu procedury odtwarzającej.

Nie zmieniał się natomiast nigdy format pliku RMT! i z tego powodu nie można automatycznie rozpoznać jakiego patcha wymaga dany utwór (chyba, że dysponujemy plikiem wykonywalnym XEX).

Raster Music Tracker definiuje 8 rodzajów brzmień (wytłuszczenie oznacza brzmienie 16-bitowe, jego brak zaś 8-bitowe):

nrtablicaAUDC
0puretone$0v
1puretone$2v
2puretone$4v
3bass16bit$Cv
4puretone$8v
5puretone$Av
6bass1$Cv
7bass2$Cv

oraz 5 tablic po 64 tony każda:

nroffsettablica
0-bass16bit LSB
1$00bass1
2$40bass2
3$80puretone
4-bass16bit MSB

Tablica 0 i 4 składają się na kompletną 16-bitową wartość wpisywaną do połączonych kanałów 1+2 lub 3+4. Pozostałe tablice definiują tony 8-bitowe.

Patch BRK

https://forums.atariage.com/topic/106228-raster-music-tracker-hardsynth-hack/

Patch na RMT 1.25 wypuszczony 29 IV 2007 przez Analmuxa pod pseudonimem BRK.

Zmieniono:

  • rodzaj zniekształcenia w brzmieniu 2
  • przypisane tablice w brzmieniach 1 i 2
nrtablicaAUDC
0puretone$0v
1bass1$2v
2bass2$Av
3bass16bit$Cv
4puretone$8v
5puretone$Av
6bass1$Cv
7bass2$Cv

i zmodyfikowano tablice bass1 i bass2.

nroffsettablica
0-bass16bit LSB
1$00bass1
2$40bass2
3$80puretone
4-bass16bit MSB

co sumarycznie zmienia brzmienia 1, 2 i 6, 7.

Patch BRK zmodyfikowany przez Mikera

https://forums.atariage.com/topic/234400-rmt-128-patch-8-theory/page/2/#findComment-3168725

Patch na RMT 1.25 przygotowany przez Mikera.

Zmieniono:

  • rodzaj zniekształcenia w brzmieniu 2
  • przypisane tablice w brzmieniach 1 i 2
nrtablicaAUDC
0puretone$0v
1bass1$2v
2bass2$Av
3bass16bit$Cv
4puretone$8v
5puretone$Av
6bass1$Cv
7bass2$Cv

oraz:

  • tablicę bass2 przesunięto na miejsce bass1
  • zmodyfikowano tablicę bass2
nroffsettablica
0-bass16bit LSB
1$00bass1
2$40bass2
3$80puretone
4-bass16bit MSB

co sumarycznie zmienia brzmienia 1, 2 i 6, 7 (przy czym oryginalne brzmienie 7 jest teraz brzmieniem 6).

Patch 2

https://forums.atariage.com/topic/142394-running-out-of

Patch na RMT 1.25 wypuszczony 13 IV 2009 przez Analmuxa pod pseudonimem BRK.

Zmodyfikowano zniekształcenie brzmień 6 i 7:

nrtablicaAUDC
0puretone$0v
1puretone$2v
2puretone$4v
3bass1$Cv
4puretone$8v
5puretone$Av
6bass2$2v
7bass2$Av

oraz tablice bass1 i bass2:

nroffsettablica
0-bass16bit LSB
1$00bass1
2$40bass2
3$80puretone
4-bass16bit MSB

sumarycznie więc zmieniono brzmienia 3, 6 i 7.

Brzmienie 3 nie jest już 16-bitowe i używa 8-bitowej tablicy bass1, a dla brzmienia 6 włączany jest zegar 1.77 MHz i tablica bass2.

Patch 3

https://forums.atariage.com/topic/228757-instrumentarium-final-release-links-summary

Patch na RMT 1.25 wypuszczony 21 VIII 2009 przez Analmuxa.

Wyjątkowo, jako jedyna spośród znanych, ta łatka modyfikuje zawartość rejestru SKCTL włączając synchronizację okresu kanału 1 kontrolowaną przez ustawienie okresu kanału 2 (przez kontrolę bitów odpowiadających za transmisję dwutonową). Odbywa się to na pozycjach $18 i $19 songu, ale może być zrealizowane w dowolnym miejscu songu przez modyfikację procedury znajdującej się pod adresem $2000 w wyeksportowanym pliku XEX.

Zmodyfikowano zniekształcenia w brzmieniach 2 i 3, oraz przypisano inne tablice brzmieniom 1 i 2:

nrtablicaAUDC
0puretone$0v
1bass1$2v
2bass2$Av
3bass16bit$8v
4puretone$8v
5puretone$Av
6bass1$Cv
7bass2$Cv

zmodyfikowane zostały wszystkie tablice basów:

nroffsettablica
0-bass16bit LSB
1$00bass1
2$40bass2
3$80puretone
4-bass16bit MSB

więc finalnie zmieniono brzmienia 1, 2, 3 i 6, 7.

Brzmienie 3 ma dodatkowo włączony 9-bitowy licznik POLY (zamiast 17-bitowego).

Patch 4

https://forums.atariage.com/topic/150001-rmt-patch-4

Patch na RMT 1.27 wypuszczony 3 IX 2009 przez Analmuxa.

Zmodyfikowano zniekształcenia, oraz przypisano inne tablice brzmieniom 2 i 3:

nrtablicaAUDC
0puretone$0v
1puretone$2v
2bass16bit MSB$Av
3bass16bit LSB$2v
4puretone$8v
5puretone$Av
6bass1$Cv
7bass2$Cv

zmodyfikowano tablice 0 i 4 odpowiadające za 16-bitowy bas:

nroffsettablica
0-bass16bit LSB
1$00bass1
2$40bass2
3$80puretone
4$C0bass16bit MSB

a więc zmieniono brzmienia 2 i 3.

Nie ma 16-bitowego basu, a tablice 0 i 4 wykorzystane są jako 8-bitowe. Brzmienie 3 jest taktowane zegarem 1.77 MHz.

Patch 5

https://forums.atariage.com/topic/150205-rmt-patch-5

Patch na RMT 1.27 wypuszczony 7 IX 2009 przez Analmuxa.

Zmodyfikowano zniekształcenia, oraz przypisano inne tablice brzmieniom 2 i 3:

nrtablicaAUDC
0puretone$0v
1puretone$2v
2bass16bit MSB$Av
3bass2$2v
4puretone$8v
5puretone$Av
6bass1$Cv
7bass16bit LSB$Cv

oraz zmodyfikowano tablice dla 16-bitowgo basu i bass2:

nroffsettablica
0-bass16bit LSB
1$00bass1
2$40bass2
3$80puretone
4$C0bass16bit MSB

czyli sumarycznie zmieniono brzmienia 2, 3 i 7.

Nie ma brzmień 16-bitowych, a wszystkie kanały taktowane są zegarem bazowym.

Patch 6

https://forums.atariage.com/topic/175878-rmt-patch-6

Patch na RMT 1.27 wypuszczony 22 I 2011 przez Analmuxa.

Zmieniono zniekształcenie brzmienia 3:

nrtablicaAUDC
0puretone$0v
1puretone$2v
2puretone$4v
3bass16bit$Av
4puretone$8v
5puretone$Av
6bass1$Cv
7bass2$Cv

oraz obydwie tablice 16-bitowego basu:

nroffsettablica
0-bass16bit LSB
1$00bass1
2$40bass2
3$80puretone
4-bass16bit MSB

a więc zmieniono tylko brzmienie 3.

Patch 7

https://forums.atariage.com/topic/175883-rmt-patch-7

Patch na RMT 1.27 wypuszczony 22 I 2011 przez Analmuxa.

Nie zmodyfikowano w żadnym brzmieniu żadnego zniekształcenia, ani nie zmieniono przypisań tablic:

nrtablicaAUDC
0puretone$0v
1puretone$2v
2puretone$4v
3bass16bit$Cv
4puretone$8v
5puretone$Av
6bass1$Cv
7bass2$Cv

ale zmieniono obydwie tablice dla 16-bitowego basu:

nroffsettablica
0-bass16bit LSB
1$00bass1
2$40bass2
3$80puretone
4-bass16bit MSB

a więc finalnie zmieniono brzmienie 3.

Patch 8

https://forums.atariage.com/topic/234769-rmt-patch-8

Ostatni patch na RMT 1.28 wypuszczony 7 II 2015 przez Analmuxa.

Przedefiniowuje zniekształcenia dla brzmień 2, 4 i 7 oraz przypisuje nowe tablice wszystkim brzmieniom prócz 3:

nrtablicaAUDC
0pure$0v
1poly5$2v
2sawtooth$Av
3cldglo$Cv
4cldghi$Av
5pure$Av
6poly4$Cv
7cldglo$8v

i wykorzystując obszar zajmowany przez 5 tablic częstotliwości, wprowadza dodatkowe o mniejszej ilości tonów:

nr offset tablica offset tablica
0 - cldglo $00 cllo
$20 dglo
1 $00 pure $00 purebass
$30 pureflute
2 $3C poly5
3 $6C poly4 $00 ($6C) polydeg41
$1F ($8B) polydeg43
4 $9C sawtooth
5 $C0 cldghi $00 ($C0) clhi
$20 ($E0) dghi

a więc przedefiniowuje wszystkie brzmienia.

Brzmienia 3 i 7 są 16-bitowe, taktowane zegarem 1.77 MHz i mają włączony 9-bitowy rejestr POLY (zamiast 17-bitowego).

Tony z tablic podzielonych na dwie części dostępne są w dolnych rejestrach (pierwsza część), i górnych (druga część) dla wybranej tablicy głównej.

Patch 0a

https://forums.atariage.com/topic/246784-rmt-128_0a-a-type-16-bit-bass-patch

Patch na RMT 1.28 wypuszczony 15 XII 2015 przez Mikera.

Zmieniono zniekształcenie brzmienia 3:

nrtablicaAUDC
0puretone$0v
1puretone$2v
2puretone$4v
3bass16bit$Av
4puretone$8v
5puretone$Av
6bass1$Cv
7bass2$Cv

oraz obydwie tablice 16-bitowego basu:

nroffsettablica
0-bass16bit LSB
1$00bass1
2$40bass2
3$80puretone
4-bass16bit MSB

czyli zmodyfikowano tylko brzmienie 3.

Dalsze losy

Po śmierci autora RMT, program nie został zapomniany, ale kilka osób ulepsza/poprawia jego funkcje, m.in. VinsCool. Ostatnia wersja programu to 1.34 i od tej wersji program stał się 'open source'.

Zobacz też

Odnośniki zewnętrzne