RMT can be used to produce 2 (16bit) or 4 (8bit) channels of music for the POKEY chip.
The Instrument slot is selected by clicking 00: Instrument 00. Instrument definitions can be loaded into these slot using the menu Instrument > Load and Paste to Actual Instrument. (note it is possible to use instruments from other tracks by saving/loading to instrument files).
Notes are entered by typing on the keyboard; the allowed range spans 6 octaves, which are selected by clicking Octave 1-2.
Tracks are numbered, and can therefore be re-used inside the song definition list on the right side of the screen.
To finalize the song, click below the last line of your song definition list, and press the key “G” to insert Go to line 00. The song can now be saved with File > Export As… Make sure the export options match those shown below, including the address (HEX) C000.
(NOTE: In case you would like to use “ready-made” RMTs in your project, make sure to relocate them to address $C000 by loading and re-exporting through the RMT software)
Keyboard Shortcuts
Hotkeys
| ESC | Stop playing song, mute all sounds. If PROVE mode is active, deactivate it.
|
| F2 | Play song from the begin include beat speed initialization.
|
SHIFT | F2 | Similar to F2, but with autofollow of the currently played position.
|
| F3 | Play song from currently edited position.
|
SHIFT | F3 | Similar to F3, but with autofollow of the currently played position.
|
| F4 | Cyclicly play the currently edited set of tracks.
|
SHIFT | F4 | Similar to F4, but with autofollow of the currently played position.
|
| F5 | Switch to TRACK EDIT.
|
| F6 | Switch to INSTRUMENT EDIT.
|
| F7 | Go to INFO EDIT.
|
| F8 | Go to SONG EDIT.
|
| F9 | PROVE mode 1 – mono / 2 – stereo / off.
|
| F11 | RESPECT VOLUME mode on / off.
|
| F12 | Switch to TRACK EDIT / INSTRUMENT EDIT.
|
| PAUSE | Mute all sounds and reinitialize the Atari sound routine.
|
SHIFT | PAUSE | Similar to PAUSE, but with reinitialize of the sound output.
|
| numblock / | Move left to previous track (i.e. previous sound generator).
|
| numblock * | Move right to following track (i.e. following sound generator).
|
| numblock – | Decrease volume for newly entered notes.
|
| numblock + | Increase volume for newly entered notes.
|
SHIFT | tonekeys | Play note with current instrument and volume on the selected sound generator.
|
SHIFT | CONTROL | tonekeys | Play stereo note with current instrument and volume on the selected sound generator (i.e. on the both, left and right, sound generators).
|
SHIFT | SPACE | Stop playing note on the selected sound generator.
|
SHIFT | CONTROL | SPACE | Stop playing stereo note (i.e. on the both, left and right, sound generators).
|
| CAPSLOCK | Turn on / off CapsLock mode (indicated by "CAP" in the statusbar). CapsLock mode is used while the text parameters are edited for entering uppercase and other special characters (!@#$%^&*()_+:"<>?|) by Shift key.
|
CONTROL | 1-8 | Turn on / off the sound generator (track) 1 to 8.
|
CONTROL | 9 | Turn on all the sound generators (tracks).
|
CONTROL | 0 | Turn off all the sound generators (tracks).
|
CONTROL | BACKQUOTE | Turn on / off the active sound generator (track).
|
SHIFT | BACKQUOTE | Inversion of on/off states of the all sound generators (tracks).
|
| BACKQUOTE | Solo play of the active sound generator (track) / turn on all the generators (tracks).
|
| NUMLOCK | Increase parameter for cursor scroll down after entering note or space key.
|
SHIFT | NUMLOCK | Decrease parameter for cursor scroll down after entering note or space key.
|
TRACK EDIT
NNN TT VSS
NNN | Notes from C-1 to C-6.
|
TT | Number of instrument from $00 to $3F.
|
V | Volume from $0 to $F (also can be used without note and instrument).
|
SS | Beat speed from $01 to $FF (speed column).
|
Hotkeys
| UP , DOWN , LEFT , RIGHT , TAB , SHIFT+TAB , PAGE UP , PAGE DOWN | Move cursor.
|
SHIFT | PAGE UP , PAGE DOWN | Preset octave up / down.
|
SHIFT | LEFT , RIGHT , numblock 0-9 | Set current instrument.
|
CONTROL | UP , DOWN | Move up / down in the song.
|
CONTROL | LEFT , RIGHT , BACKSPACE | Set track number into the song at current possition.
|
CONTROL | S | Go to the speed column.
|
CONTROL | G | Turn on / off "go to line" command in the song at current position.
|
| HOME | Move cursor to begin of the track / begin of the "track loop".
|
CONTROL | HOME | Set up / clear begin of the "track loop".
|
| END | Move cursor to the end of track.
|
CONTROL | END | Set up / clear the end of track.
|
| ENTER | Replay note at the cursor position.
|
SHIFT | ENTER | Replay note at the cursor position and get its instrument number and volume for preset values.
|
CONTROL | ENTER | Replay all notes at the currently edited line.
|
| INSERT , DELETE | Insert / delete lines in the track.
|
CONTROL | I , U | Insert / delete lines in the song (with auto-change of the all relevant "go to line" values).
|
CONTROL | P | Insert new line with unused empty tracks.
|
CONTROL | O | Insert copy or clone of song line(s).
|
CONTROL | N | Put new empty unused track to actual song position.
|
| SPACE | Delete note, instrument, volume and speed values in the track at the cursor position.
|
Note column
| tonekeys | Insert note and play it. (Note: If RESPECT VOLUME is active, previous volume value won’t be replaced.)
|
| numblock 1-6 | Change octave of the note at the cursor position and play it.
|
| BACKSPACE | Delete note and instrument values (volume and speed values will not be cleared).
|
Instrument number column
| 0-F | Set up / change instrument number.
|
| BACKSPACE | Delete note and instrument values (volume and speed values will not be cleared).
|
Volume column
| 0-F | Set up / change volume.
|
| BACKSPACE | Delete note, instrument and volume values (speed value will not be cleared).
|
Speed column
| 0-F | Set up / change beat speed.
|
| BACKSPACE | Delete beat speed.
|
Block operations
SHIFT | UP , DOWN , HOME , END | Select block.
|
CONTROL | A | Select all valid data in the currently edited track to block.
|
CONTROL | INSERT , C | Copy block data to the clipboard.
|
| SHIFT+INSERT , CONTROL+V | Paste data from the clipboard to the cursor position.
|
CONTROL | E | Exchange of block select data and the clipboard data.
|
CONTROL | X | Move block data to the clipboard.
|
| DELETE | Delete block data.
|
CONTROL | B | Restore block data from backup. The backup is created when the block is getting start to select.
|
| HOME , END | Go to the begin / the end of the block.
|
CONTROL | F4 | Cyclicly play all tracks in the area according to the block top-bottom.
|
SHIFT | CONTROL | F4 | Similar to CONTROL+F4, but with autofollow of the currently played position.
|
| ENTER | Replay notes step-by-step cyclicly inside the block.
|
Block data modifications
SHIFT | CONTROL | A | Block modifications mode. All changes are provided either on each line of the block, or only on lines with instrument numbers equal to preset instrument.
|
SHIFT | CONTROL | PAGE UP , PAGE DOWN | Transpose note up / down by semitones (5 octaves max.).
|
SHIFT | CONTROL | LEFT , RIGHT | Instrument change (by $3F value max.).
|
SHIFT | CONTROL | numblock + , numblock – | Volume up / down (by $F value max.).
|
CONTROL | F | Block effects/tools.
|
Mouse control
Track head area (titles TRACK_L1 to TRACK_R4)
| LeftMouseButton | Turn on / off the relevant sound generator (track).
|
| RightMouseButton | Solo play of the relevant sound generator (track) / turn on all the generators (tracks).
|
INSTRUMENT EDIT
NAME | Name of the instrument, 32 chars max.
|
ENVELOPE LEN | Length of the envelope, from $01 to $20 (i.e. 32 max.).
|
ENVELOPE GO | Jump to given envelope column when envelope end reached.
|
VSLIDE | Volume slide when end of envelope reached for the first time. $00 = no volume slide, $FF = maximal volume slide.
|
VMIN | Minimal volume value reached by VSLIDE parameter.
|
TABLE LEN | Length of the table, from $01 to $20 steps (i.e. 32 max.).
|
TABLE GO | Jump to given table line when table end reached.
|
TABLE SPD | Speed for the each table step, from $01 to $40 vbi.
|
TABLE TYPE | Table type. 0 = notes, 1 = frequencies
|
TABLE MODE | Table mode. 0 = add note (or frequency) to base note, 1 = add note (or frequency) to last calculated note (or frequency). Notice: If resulting note by reason of note adding is out of C-1 to C-6 range (hex values $00 to $3D), then output volume will be zero. But frequency addings are not limited.
|
EFFECT DELAY | Delay before start of VIBRATO and FSHIFT effects by $01 to $FF vbi, $00 = no effects.
|
EFFECT VIBRATO | Effect vibrato, 3 levels from $01 to $03, $00 = no vibrato.
|
EFFECT FSHIFT | Effect "frequency shifting" from $00 to $FF for each vbi.
|
AUDCTL 15KHZ | Turn on / off AUDCTL bit "main clock base 15khz".
|
AUDCTL FI2+4 | Turn on / off AUDCTL bit "high pass filter to channel 2 clocked by channel 4".
|
AUDCTL FI1+3 | Turn on / off AUDCTL bit "high pass filter to channel 1 clocked by channel 3".
|
AUDCTL CH4+3 | Turn on / off AUDCTL bit "join channels 4 and 3.
|
AUDCTL CH2+1 | Turn on / off AUDCTL bit "join channels 2 and 1.
|
AUDCTL 1.79CH3 | Turn on / off AUDCTL bit "clock channel 3 with 1.79MHz.
|
AUDCTL 1.79CH1 | Turn on / off AUDCTL bit "clock channel 1 with 1.79MHz.
|
AUDCTL POLY9 | Turn on / off AUDCTL bit "9 bit poly counter".
|
Table of notes / freqs
TABLE $00 – $1F | From 1 to 32 parameters for table. It contains array of note (in halftones) or frequency addings according to TABLE TYPE value. For negative values there are complementary numbers used, for example -1 = $FF.
|
Envelope
VOLUME R | Volume from $0 to $F for right channels. It will be used for stereo songs in tracks R1 to R4.
|
VOLUME L | Volume from $0 to $F. It will be used on tracks L1 to L4.
|
DISTORTION | Sound type from $0 to $E, even values only.
|
COMMAND | Envelope command, from $0 to $7.
|
X, Y | Two parameters from $0 to $F for special command. It can be used as a two separate parameters or as one hexadecimal value $XY.
|
FILTER | Filter. $0 = no active, $1 = acitve. It works with sound generator 1 or 2 only. It engage two generators: 1+3 or 2+4. It has higher priority than 16bit bass tones and non filtered voices, therefore it can occupy their sound generators or it can switch 16bit bass tones to 8bit and use its high byte for filtering. If resulting volume is zero, filtering won’t be used (and no occupation of other generators arrive).
|
PORTAMENTO | Portamento. $0 = no active, $1 = acitve. If active, then "portamento volatile frequency" is used instead of current frequency.
|
Sound type (DISTORTION parameter)
0 | Distortion 0. (AUDC $0v)
|
2 | Distortion 2. (AUDC $2v)
|
4 | Distortion 4. (AUDC $4v)
|
6 | Distortion 12 (AUDC $Cv) plus join of two sound generators for 16bit resolution bass tones. It works with generator 2 or 4 only, It engage two generators: 2+1 or 4+2. On other generators it works as a distortion 12 with bass table 1.
|
8 | Distortion 8. (AUDC $8v)
|
A | Distortion 10, pure tones. (AUDC $Av)
|
C | Distortion 12, bass tones – bass table 1. (AUDC $Cv)
|
E | Distortion 12, bass tones – bass table 2. (AUDC $Cv)
|
Envelope command (COMMAND parameter)
0 | Play the base note shifted by $XY semitones. If resulting note by reason of note shifting is out of C-1 to C-6 range (hex values $00 to $3D), then output volume will be zero.
|
1 | Play the frequency $XY directly.
|
2 | Play the base note shifted by frequency $XY.
|
3 | Add $XY semitones to base note. Play base note (new value). If resulting note by reason of note shifting is out of C-1 to C-6 range (hex values $00 to $3D), then output volume will be zero.
|
4 | Add frequency $XY to FSHIFT register. Play base note.
|
5 | Set up portamento speed $X, step $Y (each $X vbi will be "volatile portamento frequency" shifted up or down by $Y value in a direction of actual frequency). If $XY=$00, then set current frequency directly to volatile portamento frequency.
|
6 | Add $XY value to FILTER_SHFRQ. (Whenever the new note in track is getting started, FILTER_SHFRQ is initialized to $01, so that default join filter generator frequency is higher by 1.)
|
7 | Set the base note to $XY value directly. Play base note (new value). If $XY=$80, then use the current volume for VOLUME ONLY forced output.
|
Hotkeys
| LEFT , RIGHT , UP , DOWN | Move cursor.
|
| TAB | Move cursor to set up the instrument parameters / the envelope parameters.
|
SHIFT | TAB | Move cursor to set up the name of the instrument.
|
| 0-F , CONTROL+LEFT , CONTROL+UP , CONTROL+RIGHT , CONTROL+DOWN , BACKSPACE | Settings of the parameter values (in a valid ranges only).
|
SHIFT | PAGE UP , PAGE DOWN | Preset octave up / down.
|
SHIFT | LEFT , RIGHT , numblock 0-9 | Select current instrument.
|
SHIFT | CONTROL | numblock + , numblock – | Change the R+L volume envelopes up/down. If cursor is at line "VOLUME L" or "VOLUME R", then volume envelope for left or right channel only is changed.
|
Table of notes / freqs changes
| HOME | Move cursor to the begin of the table / to the begin of "table loop".
|
CONTROL | HOME | Set up the begin of "table loop".
|
| END | Move cursor to the end of the table.
|
CONTROL | END | Set up the end of the table.
|
Envelope parameters
| HOME | Move cursor to the begin of the envelope / to the begin of "envelope loop".
|
CONTROL | HOME | Set up the begin of "envelope loop".
|
| END | Move cursor to the end of the envelope.
|
CONTROL | END | Set up the end of the envelope / set up a maximal length of the envelope.
|
| INSERT | Insert columns into the envelope (shift to the right).
|
| DELETE | Delete columns into the envelope (shift to the left).
|
Mouse control
Volume envelope area
| LeftMouseButton | Draw the volume curve.
|
| RightMouseButton | Set the zero volume.
|
INFO EDIT
NAME | Name of the song and author, 64 chars max.
|
MUSIC SPEED: AA/MM/S
AA | Current beat speed, from $01 to $FF.
|
MM | Main speed, from $01 to $FF. Actual beat speed is initialized by main speed when whole song is getting started to play.
|
S | Speed of the instruments, from $1 to $4. (X times per 1 frame.)
|
Hotkeys
| LEFT , RIGHT , TAB | Move cursor.
|
SHIFT | TAB | Move cursor to set up name of the song.
|
| 0-F , CONTROL+LEFT , CONTROL+UP , CONTROL+RIGHT , CONTROL+DOWN | Settings of parameter values (in valid ranges only).
|
| ENTER | Exit from INFO EDIT.
|
SONG EDIT
| LEFT , RIGHT , UP , DOWN | Move cursor.
|
| 0-F , CONTROL+LEFT , CONTROL+RIGHT , BACKSPACE | Set up number of track or "go to line" value in the song.
|
| G | Turn on / off "go to line" command in the song.
|
| INSERT , CONTROL+I , DELETE , CONTROL+U | Insert / delete lines in the song (with auto-change of all relevant "go to line" values).
|
CONTROL | P | Prepare song line with unused empty tracks.
|
CONTROL | O | Insert copy or clone of song line(s).
|
CONTROL | N | Put new empty unused track to actual song position.
|
PROVE mode 1 – mono / 2 – stereo
| tonekeys | Play note only (without tracks modify).
|
| SPACE | Stop playing note on the selected sound generator.
|
| ESC | Mute all sounds, deactivate PROVE mode.
|