<?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=RMT_%28format_pliku%29</id>
	<title>RMT (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=RMT_%28format_pliku%29"/>
	<link rel="alternate" type="text/html" href="https://mirror.atariki.pl/w/index.php?title=RMT_(format_pliku)&amp;action=history"/>
	<updated>2026-10-02T06:14:40Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://mirror.atariki.pl/w/index.php?title=RMT_(format_pliku)&amp;diff=3386&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=RMT_(format_pliku)&amp;diff=3386&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;&amp;lt;pre&amp;gt;&lt;br /&gt;
RMT 1.x module format&lt;br /&gt;
--------------------------------&lt;br /&gt;
&lt;br /&gt;
header struct&lt;br /&gt;
=============&lt;br /&gt;
&lt;br /&gt;
offset	type	desc&lt;br /&gt;
------	----	----&lt;br /&gt;
00	DWORD	header string &amp;#039;RMT4&amp;#039; or &amp;#039;RMT8&amp;#039;&lt;br /&gt;
04	BYTE	track len ($00 means 256)&lt;br /&gt;
05	BYTE	song speed&lt;br /&gt;
06	BYTE	player freq&lt;br /&gt;
07	BYTE	format version number ($01 for player routine 1.x compatible format)&lt;br /&gt;
08	WORD	pointer to instrument pointers table&lt;br /&gt;
0a	WORD 	pointer to track pointers table (lo)&lt;br /&gt;
0c	WORD	pointer to track pointers table (hi)&lt;br /&gt;
0e	WORD	pointer to tracks list (SONG)&lt;br /&gt;
&lt;br /&gt;
instrument struct&lt;br /&gt;
=================&lt;br /&gt;
&lt;br /&gt;
offset	type	desc&lt;br /&gt;
------	----	----&lt;br /&gt;
00	BYTE	tlen (pointer to end of table of notes)&lt;br /&gt;
01	BYTE 	tgo (pointer to loop of table of notes)&lt;br /&gt;
02	BYTE	elen (pointer to end of envelope)&lt;br /&gt;
03	BYTE	ego (pointer to loop of envelope)&lt;br /&gt;
04	BYTE	tspd (bit 0-5), tmode (bit 6), ttype (bit 7)&lt;br /&gt;
05	BYTE	audctl&lt;br /&gt;
06	BYTE	vslide&lt;br /&gt;
07	BYTE	vmin(bit 4-7)&lt;br /&gt;
08	BYTE	delay ($00 for no vibrato &amp;amp;amp; no fshift)&lt;br /&gt;
09	BYTE	vibrato (0-3)&lt;br /&gt;
0a	BYTE	fshift&lt;br /&gt;
0b	BYTE	unused&lt;br /&gt;
0c		table of notes&lt;br /&gt;
?		envelope&lt;br /&gt;
&lt;br /&gt;
ttype&lt;br /&gt;
-----&lt;br /&gt;
0 - notes&lt;br /&gt;
1 - freqs&lt;br /&gt;
&lt;br /&gt;
tmode&lt;br /&gt;
-----&lt;br /&gt;
0 - +&lt;br /&gt;
1 - +=&lt;br /&gt;
&lt;br /&gt;
TABLE OF NOTES struct&lt;br /&gt;
=====================&lt;br /&gt;
	BYTE	note or frequence (according to the ttype)&lt;br /&gt;
&lt;br /&gt;
ENVELOPE struct&lt;br /&gt;
===============&lt;br /&gt;
	BYTE	volume (bit 0-3 left channel) (bits 4-7 right channel&lt;br /&gt;
	      (in RMT4 it&amp;#039;s the same as bits 0-3))&lt;br /&gt;
	BYTE	portamento (bit 0), distortion(bit 1-3),&lt;br /&gt;
	      command (bit 4-6), filter (bit 7)&lt;br /&gt;
	BYTE	XY&lt;br /&gt;
&lt;br /&gt;
distortion&lt;br /&gt;
----------&lt;br /&gt;
0 - $0v&lt;br /&gt;
2 - $2v&lt;br /&gt;
4 - $4v&lt;br /&gt;
6 - $Cv 16-bit bass table tone&lt;br /&gt;
8 - $8v&lt;br /&gt;
A - $Av pure tone&lt;br /&gt;
C - $Cv bass 1 table tone&lt;br /&gt;
E - $Cv bass 2 table tone&lt;br /&gt;
&lt;br /&gt;
command&lt;br /&gt;
-------&lt;br /&gt;
0 - play BASE_NOTE + $XY semitones&lt;br /&gt;
1 - play frequency $XY&lt;br /&gt;
2 - play BASE_NOTE + frequency $XY&lt;br /&gt;
3 - set BASE_NOTE += $XY semitones; play BASE_NOTE&lt;br /&gt;
4 - set FSHIFT += frequency $XY; play BASE_NOTE&lt;br /&gt;
5 - set PORTAMENTO speed $X and step $Y; play BASE_NOTE&lt;br /&gt;
6 - set FILTER_SHFRQ += frequency $XY; play BASE_NOTE&lt;br /&gt;
7 - set BASE_NOTE = $XY; play BASE_NOTE / if $XY == $80 then VOLUMEONLY mode&lt;br /&gt;
&lt;br /&gt;
TRACK struct&lt;br /&gt;
============&lt;br /&gt;
&lt;br /&gt;
BYTE&lt;br /&gt;
	bit 0-5	note&lt;br /&gt;
	bit 6-7	volume(LO) or pause(1-3 beats) or special&lt;br /&gt;
&lt;br /&gt;
if note is $00-$3c:&lt;br /&gt;
BYTE&lt;br /&gt;
	bit 0-1	volume(HI)&lt;br /&gt;
	bit 2-7 instrument number&lt;br /&gt;
&lt;br /&gt;
if note is $3d:&lt;br /&gt;
BYTE&lt;br /&gt;
	bit 0-1	volume(HI)	volume only&lt;br /&gt;
&lt;br /&gt;
if note is $3e:&lt;br /&gt;
	bit 6-7 pause&lt;br /&gt;
	if pause is $01-$03:	pause 1-3 beats&lt;br /&gt;
	if pause is $00:	next byte pause 1-255 beats&lt;br /&gt;
&lt;br /&gt;
if note is $3f:&lt;br /&gt;
	if bit 6-7 is zero: next byte speed $01-$ff&lt;br /&gt;
	if bit 6 is zero, 7 is set up: next byte is track jump pointer&lt;br /&gt;
	(go to $00-$ff from the begin of track data)&lt;br /&gt;
	if bit 6-7 is set up: END of track&lt;br /&gt;
&lt;br /&gt;
INSTRUMENTS TABLE&lt;br /&gt;
=================&lt;br /&gt;
	WORD	ptr_instr0&lt;br /&gt;
	WORD	ptr_instr1&lt;br /&gt;
	WORD	ptr_instr3&lt;br /&gt;
	...&lt;br /&gt;
&lt;br /&gt;
ptr_instr = 0 if instrument isn&amp;#039;t used&lt;br /&gt;
&lt;br /&gt;
TRACKS TABLE (LO)&lt;br /&gt;
=================&lt;br /&gt;
	BYTE	lowbyte_of_ptr_track0&lt;br /&gt;
	BYTE	lowbyte_of_ptr_track1&lt;br /&gt;
	BYTE	lowbyte_of_ptr_track2&lt;br /&gt;
	...&lt;br /&gt;
&lt;br /&gt;
TRACKS TABLE (HI)&lt;br /&gt;
=================&lt;br /&gt;
	BYTE	highbyte_of_ptr_track0&lt;br /&gt;
	BYTE	highbyte_of_ptr_track1&lt;br /&gt;
	BYTE	highbyte_of_ptr_track2&lt;br /&gt;
	...&lt;br /&gt;
&lt;br /&gt;
ptr_track = 0 if track isn&amp;#039;t used&lt;br /&gt;
&lt;br /&gt;
TRACK LIST struct (SONG)&lt;br /&gt;
========================&lt;br /&gt;
	BYTE	tracknumL1,tracknumL2,tracknumL3,tracknumL4,[tracknumR1,..,tracknumR4]&lt;br /&gt;
	BYTE	tracknumL1,tracknumL2,tracknumL3,tracknumL4,[tracknumR1,..,tracknumR4]&lt;br /&gt;
	BYTE	tracknumL1,tracknumL2,tracknumL3,tracknumL4,[tracknumR1,..,tracknumR4]&lt;br /&gt;
	...&lt;br /&gt;
&lt;br /&gt;
if tracknum is FF, then empty track is used&lt;br /&gt;
&lt;br /&gt;
if tracknumL1 is FE, then gotoline(BYTE)=tracknumL2, goto_pointer(WORD)=(tracknumL3,4)&lt;br /&gt;
	Note: gotoline(BYTE) is not used in player (but tracker uses it)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jeśli moduł nie jest &amp;quot;ogołocony&amp;quot; (opcja &amp;quot;Strip&amp;quot; w RMT), zaraz za głównym blokiem zawierającym moduł następuje drugi blok, w którym zapisane są:&lt;br /&gt;
&lt;br /&gt;
* nazwa utworu (max. 64 znaki),&lt;br /&gt;
* nazwy instrumentów (max. 32 znaki każdy).&lt;br /&gt;
&lt;br /&gt;
Każda nazwa kończy się zerem (ATASCII #0).&lt;br /&gt;
&lt;br /&gt;
[[Kategoria:Emulacja]]&lt;br /&gt;
[[Kategoria:Formaty plików]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Atariki recovery</name></author>
	</entry>
</feed>