TFMX

from Wikipedia, the free encyclopedia
TFMX

TFMX ( T he F inal M usicsystem e X tended ) is a commercial music program for the Commodore Amiga from Chris Hülsbeck and Peter Thierolf. Chris Hülsbeck developed the concept, the music routine and the graphics, while Peter Thierolf programmed the editor. TFMX was published by Demonware in 1988/89. A new publication took place in 1994 by the company Magnamedia on the Amiga Power Disc No. 21.

The TFMX editor

Basics

TFMX editor

The TFMX editor is one of the trackers . In contrast to the trackers customary at the time, the TFMX editor does not use a pure line system, but is based on tracks, patterns and macros. The values ​​are always entered in the hexadecimal system .

The TFMX editor provides the track page (also known as track step), the pattern page and the macro page for editing a song.

The track page

Track page

The track page offers eight independent tracks . Two values ​​(one byte each ) can be entered in each track : on the one hand, the number of the pattern to be played and, on the other hand, the amount of transposition of the pattern to be played. The eight tracks in steps ( Steps played) at the same time. The track step therefore has a data volume of eight words (8 × 2 bytes) per step . The number of steps is limited to 512.

Valid pattern numbers for the track page are $ 00 to $ 7F. This corresponds to a maximum number of 128 patterns. In addition, there are special pattern commands that affect a single track and track-step commands that affect the entire song.

Pattern commands:

  • $ 80 - Continue playing the previous pattern
  • $ FE - Deletion of the audio channel specified in the transpose value
  • $ FF - Empty pattern

Track-Step commands:

command parameter command function
EFFE 0000 no STOP The song will stop.
EFFE 0001 yyyy LOOP The song loops to track step line yyyy.
EFFE 0002 yyyy SPEED The song speed will be changed to yyyy.
EFFE 0003 yyyy TIMESHARE * Switch the player's computing time on (yyyy = 0001) or off (yyyy = 0000).
* This command only works with TFMX music routines that do not support 7-voice mode.
EFFE 0003 00yy 00zz 7-VOICE ** Playback rate of the song in yy kHz, fine adjustment of the song speed by zz.
** This command only works with TFMX music routines that support the 7-voice mode.
EFFE 0004 00yy 00zz FADE The song volume is faded to zz at a rate of yy.

Example: Fade-in a song with speed $ 28 to volume $ 3F:

Track 1 Track 2 Track 3 Track 4 Track 5 Track 6 Track 7 Track 8
STEP PT TR PT TR PT TR PT TR PT TR PT TR PT TR PT TR
0000 EF FE 00 04 00 28 00 3F FF 00 FF 00 FF 00 FF 00

The pattern page

Pattern page

The patterns form the basic building blocks of the TFMX song. Combined in the track page, they result in the overall song. The notes and the corresponding macros as well as the volume and the sound channel are entered in the pattern page. There are also a variety of pattern commands that can also be used in the pattern. The number of patterns is limited to 128. The length of an individual pattern is variable and, like the track page, is divided into steps. A step of a pattern contains either a note or a pattern command and each has the size of a long word . Each pattern is always terminated with the $ F0 END pattern command. The end of an individual pattern can therefore be recognized in the data structure of the TFMX song by the long word $ F0000000.

Schematic structure of a pattern:

STEP GRADE STATUS MACRONR. SURNAME VOLUME CHANNEL DETUNE
0000 18th F # 2 00 F. 1 00
0001 F3 WAIT 0F Count 00-FF 0 0 00
0002 F0 END 00 Next track step 0 0 00

This pattern plays the note F # 2 using the macro number $ 00 at maximum volume and waits for a period of $ 0F steps until the pattern is ended. In the TFMX song, this pattern is available in the form of three long words (one long word per step):1800F100 F30F0000 F0000000

Note values ​​can be entered in three different ways:

  • If the grade is less than $ 80, the next step is automatically carried out when the grade is processed. A pattern command such as B. $ F3 WAIT is required here so that the note can be heard and the TFMX music routine does not play the next note straight away.
  • Note values ​​from $ 80, which are smaller than $ C0, contain such a WAIT command. The number of waiting steps is entered in the last byte originally intended for DETUNE.
  • Note values ​​from $ C0 that are less than $ F0 contain a PORTAMENTO command. The pitch is applied to the note value entered here, provided that a note with a different pitch has previously been played on the same sound channel. The value for the portamento counter (set to $ 01 by default) is set in the byte provided for the MACRONUMMER and the portamento speed is set in the byte provided for DETUNE. The combination of both values ​​gives the speed of the portamento effect.
  • Values ​​from $ F0 represent pure pattern commands.

Pattern commands:

GRADE STATUS MACRONR. SURNAME VOLUME CHANNEL DETUNE parameter
F0 END - Next track step - - - no
F1 LOOP aa count / step.w b b bb Programming a loop
aa = number of loop runs (00 corresponds to infinite)
bbbb = step to which the loop is to be performed
F2 CONT aa patternno./step.w b b bb Continue in another pattern (JMP)
aa = pattern number to be continued at
bbbb = step in the target pattern to be continued from
F3 WAIT aa count 00-ff - - - aa = number of waiting steps
F4 STOP - Stop this pattern - - - no
F5 KUP ^ - Set key up / channel - a - Sends the KEYUP command to the macro on sound channel a
F6 VIBR aa speed / rate.b - b cc Vibrato
aa = speed of vibrato
b = sound channel
cc = strength of vibrato
F7 ENVE aa speed / endvolume.b - b cc Envelope
aa = speed of volume change
b = sound channel
cc = target volume
F8 GSPT aa patternno./ step.w b b bb Branch into a subpattern (JSR)
aa = pattern number to which branching is made
bbbb = step in the target pattern to which the continuation is made
F9 ROPT - Return old pattern - - - Return to old pattern (RTS)
FA FADE aa speed / endvolume.b - - bb Fade-in / fade-out of the overall volume
aa = speed of volume change
bb = target volume
FB PPAT aa patt./track+transp - b cc Play Pattern
Plays the pattern aa in track b with a transposition of cc
FC FXPR aa prio / channel + len.b - b cc (Function is not documented)
FD FLAG aa flag no. 0-3 / value.w b b bb (Function is not documented)
FE STOP - Stop customizing - - - End marking of a custom pattern (for your own programming of the music routine)
FF NOP! - no operation - - - No function (serves as a filler note for some functions of the TFMX editor)

The macro page

Macro-Page

Before sample material can be used in the piece of music, a macro must first be created. For this purpose, the TFMX editor offers the option of creating a standard macro that contains the data necessary for playing back the sample material (e.g. start and length of the sample). Apart from that, the TFMX editor provides a large number of macro commands that can be used to develop complex macros. The number of macros is limited to 128.

The TFMX file format

The TFMX editor saves a TFMX song split into three files. Get saved:

  1. Prefix info. - Info file, which contains the names of the patterns, macros and samples
  2. Prefix mdat. - Music file which contains all the data of the piece of music excluding the sample data
  3. Prefix smpl. - Sample file which contains the pure sample data

To play a TFMX song, the music and sample files are sufficient. The info file is only required for further processing of the TFMX song in the TFMX editor.

Well-known TFMX musicians

  • Chris Hülsbeck (e.g. Apidya , Jim Power, Turrican trilogy)
  • Rudolf Stember (e.g. The Black Eye: The Nordland Trilogy , Mad TV , Mr. Nutz)
  • Peter Thierolf (e.g. Fatal Heritage, Ooops Up, The Power)
  • Dirk Magerkord (e.g. Brainball, PP Hammer)
  • Jonathan Pickard (e.g. PreFlightCheck, Rush of Discovery)
  • Jan Krolzig (e.g. Cheeky Twins)
  • Markus Schneider (e.g. Gordian Tomb, Tusker)

Web links