Raster Music Tracker
From Atariki
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 jest Raster/C.P.U..
Spis treści |
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):
nr | tablica | AUDC |
0 | puretone | $0v |
1 | puretone | $2v |
2 | puretone | $4v |
3 | bass16bit | $Cv |
4 | puretone | $8v |
5 | puretone | $Av |
6 | bass1 | $Cv |
7 | bass2 | $Cv |
oraz 5 tablic po 64 tony każda:
nr | offset | tablica |
0 | - | bass16bit LSB |
1 | $00 | bass1 |
2 | $40 | bass2 |
3 | $80 | puretone |
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
nr | tablica | AUDC |
0 | puretone | $0v |
1 | bass1 | $2v |
2 | bass2 | $Av |
3 | bass16bit | $Cv |
4 | puretone | $8v |
5 | puretone | $Av |
6 | bass1 | $Cv |
7 | bass2 | $Cv |
i zmodyfikowano tablice bass1 i bass2.
nr | offset | tablica |
0 | - | bass16bit LSB |
1 | $00 | bass1 |
2 | $40 | bass2 |
3 | $80 | puretone |
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
nr | tablica | AUDC |
0 | puretone | $0v |
1 | bass1 | $2v |
2 | bass2 | $Av |
3 | bass16bit | $Cv |
4 | puretone | $8v |
5 | puretone | $Av |
6 | bass1 | $Cv |
7 | bass2 | $Cv |
oraz:
- tablicę bass2 przesunięto na miejsce bass1
- zmodyfikowano tablicę bass2
nr | offset | tablica |
0 | - | bass16bit LSB |
1 | $00 | bass1 |
2 | $40 | bass2 |
3 | $80 | puretone |
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:
nr | tablica | AUDC |
0 | puretone | $0v |
1 | puretone | $2v |
2 | puretone | $4v |
3 | bass1 | $Cv |
4 | puretone | $8v |
5 | puretone | $Av |
6 | bass2 | $2v |
7 | bass2 | $Av |
oraz tablice bass1 i bass2:
nr | offset | tablica |
0 | - | bass16bit LSB |
1 | $00 | bass1 |
2 | $40 | bass2 |
3 | $80 | puretone |
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:
nr | tablica | AUDC |
0 | puretone | $0v |
1 | bass1 | $2v |
2 | bass2 | $Av |
3 | bass16bit | $8v |
4 | puretone | $8v |
5 | puretone | $Av |
6 | bass1 | $Cv |
7 | bass2 | $Cv |
zmodyfikowane zostały wszystkie tablice basów:
nr | offset | tablica |
0 | - | bass16bit LSB |
1 | $00 | bass1 |
2 | $40 | bass2 |
3 | $80 | puretone |
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:
nr | tablica | AUDC |
0 | puretone | $0v |
1 | puretone | $2v |
2 | bass16bit MSB | $Av |
3 | bass16bit LSB | $2v |
4 | puretone | $8v |
5 | puretone | $Av |
6 | bass1 | $Cv |
7 | bass2 | $Cv |
zmodyfikowano tablice 0 i 4 odpowiadające za 16-bitowy bas:
nr | offset | tablica |
0 | - | bass16bit LSB |
1 | $00 | bass1 |
2 | $40 | bass2 |
3 | $80 | puretone |
4 | $C0 | bass16bit 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:
nr | tablica | AUDC |
0 | puretone | $0v |
1 | puretone | $2v |
2 | bass16bit MSB | $Av |
3 | bass2 | $2v |
4 | puretone | $8v |
5 | puretone | $Av |
6 | bass1 | $Cv |
7 | bass16bit LSB | $Cv |
oraz zmodyfikowano tablice dla 16-bitowgo basu i bass2:
nr | offset | tablica |
0 | - | bass16bit LSB |
1 | $00 | bass1 |
2 | $40 | bass2 |
3 | $80 | puretone |
4 | $C0 | bass16bit 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:
nr | tablica | AUDC |
0 | puretone | $0v |
1 | puretone | $2v |
2 | puretone | $4v |
3 | bass16bit | $Av |
4 | puretone | $8v |
5 | puretone | $Av |
6 | bass1 | $Cv |
7 | bass2 | $Cv |
oraz obydwie tablice 16-bitowego basu:
nr | offset | tablica |
0 | - | bass16bit LSB |
1 | $00 | bass1 |
2 | $40 | bass2 |
3 | $80 | puretone |
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:
nr | tablica | AUDC |
0 | puretone | $0v |
1 | puretone | $2v |
2 | puretone | $4v |
3 | bass16bit | $Cv |
4 | puretone | $8v |
5 | puretone | $Av |
6 | bass1 | $Cv |
7 | bass2 | $Cv |
ale zmieniono obydwie tablice dla 16-bitowego basu:
nr | offset | tablica |
0 | - | bass16bit LSB |
1 | $00 | bass1 |
2 | $40 | bass2 |
3 | $80 | puretone |
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:
nr | tablica | AUDC |
0 | pure | $0v |
1 | poly5 | $2v |
2 | sawtooth | $Av |
3 | cldglo | $Cv |
4 | cldghi | $Av |
5 | pure | $Av |
6 | poly4 | $Cv |
7 | cldglo | $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:
nr | tablica | AUDC |
0 | puretone | $0v |
1 | puretone | $2v |
2 | puretone | $4v |
3 | bass16bit | $Av |
4 | puretone | $8v |
5 | puretone | $Av |
6 | bass1 | $Cv |
7 | bass2 | $Cv |
oraz obydwie tablice 16-bitowego basu:
nr | offset | tablica |
0 | - | bass16bit LSB |
1 | $00 | bass1 |
2 | $40 | bass2 |
3 | $80 | puretone |
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'.