Raster Music Tracker
From Atariki
Wersja z dnia 11:08, 6 mar 2011 Tebe (Dyskusja | wkład) ← Previous diff |
Aktualna wersja Krótki (Dyskusja | wkład) (Czas przeszły, bo autor nie żyje.) |
||
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 × 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)]] |
+ | |||
+ | ==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
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.
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'.
Zobacz też
Odnośniki zewnętrzne
- Strona domowa na GitHubie
- Strona domowa u Rastera (nieaktualizowana)
- Dyskusja na Atari-Age
- RMT 1.25 patch BRK zmodyfikowany przez Mikera
- RMT 1.25 patch 3
- RMT 1.27 patch 6
- RMT 1.27 patch 7
- RMT 1.28 patch 8
- RMT 1.28 patch 0a