"Ultimate Tracker Support" (UTS) from Resistance released

Started by Dissident, March 21, 2020, 10:08:13

Previous topic - Next topic

Dissident

Hi,

after some months of development, I'm proud to present the package "Ultimate Tracker Support" (UTS) from Resistance: http://aminet.net/util/cli/RSE-UTS.lha

A brief overview:

This package includes five different Shell tools for Amiga tracker modules:

- WhichMOD V.1.4 detects main characteristics of standard tracker modules.

- UST2PT   V.1.3 converts Ultimate Soundtracker into Protracker modules.

- OST2PT   V.1.3 converts old Soundtracker into Protracker modules.

- ST2PT    V.1.2 converts Soundtracker into Protracker modules.

- SplitMOD V.1.9 splits standard modules into song and samples data files.


Sixteen different replay routines for 000/0x0 CPUs as assembler sourcecodes:

- UST-Replay27_000_0x0  V.2.0 Ultimate Soundtracker

- DST-Replay6_000_0x0   V.1.0 (old) DOC Soundtracker

- DST-Replay9_000_0x0   V.1.0

- ST-Replay2.2_000_0x0  V.4.0 (old) Soundtracker

- ST-Replay2.4_000_0x0  V.4.1 Soundtracker

- NT-Replay2.0_000_0x0  V.4.0 Noisetracker

- PT-Replay2.3a_000_0x0 V.4.0 Protracker

- PT-Replay3.0b_000_0x0 V.3.8


Overview Tracker Features V.1.0

- I've added a table with different tracker features and a classification of the
  trackers by their effect command formats as a pdf-file and a png-picture for
  the use with multiview.

Some words about the included sourcecodes...

The main focus is on the Amiga tracker replay routines. Any other parts like
turning the system off and on, saving the content of hardware registers
or enabling/disabling interrupts are NOT part of the sources.

The aim is to provide you 100% documented and standardized replay routines
as assembler sourcecodes for different Amiga trackers.

All routines are based on the Protracker 2.3a/3.0b original replay routines.

For every replay routine there's an optimized 68000 and 680x0 version which
is very fast.

Feel free to do further optimizations. ;-)

I've decided to include only the latest version of a replay routine before
fundamental changes happened, like:

- Changing and introducing new effect commands with DOC Soundtracker 4,
  DOC Soundtracker 9, Master Soundtracker 1.0, Soundtracker 2.0,
  Soundtracker 2.3, Noisetracker 1.0 and Protracker 1.0

- Changing from raster independent to raster dependent replay with
  Master Soundtracker 1.0 and Soundtracker 2.0

- Introducing 31 instruments with Soundtracker 2.3

- Changing the interpretation of the repeat point of loop samples from bytes
  to words with Soundtracker 2.5, Noisetracker 1.0 and expanding the effect
  commands

- Adding extended commands with Protracker 1.0

- Changing from raster dependent to raster independent replay with
  Protracker 1.0

- Adding new commands and features with Protracker 3.0


The following trackers are supported by the routines:

- UST-Replay27 V.2.0

  * Ultimate Soundtracker 1.21 - the mother of all trackers =)
  * Ultimate Soundtracker 1.8
  * Ultimate Soundtracker 2.0

- DST-Replay6 V.1.0

  * (old) Soundtracker         1
  * (old) Soundtracker         2
  * (old) Soundtracker         3
  * (old) DOC Soundtracker 4
  * (old) DOC Soundtracker 5
  * (old) DOC Soundtracker 6

- DST-Replay9 V.1.0

  * (old) DOC Soundtracker     9
  * (old) Master Soundtracker 1.0

- ST-Replay2.2 V.4.0

  * (old) Soundtracker 2.0
  * (old) Soundtracker 2.1
  * (old) Soundtracker 2.2

- ST-Replay2.4 V.4.1

  * Soundtracker 2.3
  * Soundtracker 2.4

- NT-Replay2.0 V.4.0

  * Noisetracker 2.x
  * Startrekker   1.x

- PT-Replay2.3a V.4.0

  * Soundtracker 2.5
  * Soundtracker 2.6
  * Noisetracker  1.x
  * Protracker     1.x
  * Protracker     2.x

- PT-Replay3.0b V.3.8

  * Soundtracker 2.5
  * Soundtracker 2.6
  * Noisetracker  1.x
  * Protracker     1.x
  * Protracker     2.x
  * Protracker     3.x


Have fun with it.  ;)

Dissident^Resistance

Asle

Hi,

Obviously, a lot of work went into this ! Congratulation for this massive release !
Now, I understand it's ready-to-use 68k source code. However, the main issue, I guess, will be to locate music material to match those replays :)

I'm not coder, nor expert in replays. Still, perhaps a little note regarding past experiences and discussions. We have found some cases where a tracker would come with its replay source code. Several times, there was differences between said external replay and the one used in the tracker itself !

I'm sure you know of this already, but it's always worth mentioning. AMP uses this work : http://weaselaudiolib.sourceforge.net/
A lot was documented in there as well.

All the best
Sylvain

Dissident

Quote from: Asle on March 21, 2020, 13:39:28
Obviously, a lot of work went into this ! Congratulation for this massive release !
Now, I understand it's ready-to-use 68k source code. However, the main issue, I guess, will be to locate music material to match those replays :)
Thanks for your praise, Asle.  :) AMP was the main source for the test mods for my tools! Just check the mods of Karsten Obarski, SLL and Uncle Tom for Ultimate Soundtracker and old Soundtracker mods.

Quote from: Asle on March 21, 2020, 13:39:28
I'm not coder, nor expert in replays. Still, perhaps a little note regarding past experiences and discussions. We have found some cases where a tracker would come with its replay source code. Several times, there was differences between said external replay and the one used in the tracker itself !
Yes, there are many. Replay routine sources sometimes support less effect commands than the tracker editor or loop symples are checked in a different way like in the Ultimate Soundtracker.

Quote from: Asle on March 21, 2020, 13:39:28
I'm sure you know of this already, but it's always worth mentioning. AMP uses this work : http://weaselaudiolib.sourceforge.net/
A lot was documented in there as well.
Thanks for sharing the link. Also this site was one of the sources for my tracker investigation.  ;)

Kind regards

Dissident

Crown

Excellent work Dissident, it is really nice to see that people keep up developping for 68k Amigas. :)

Dissident

Quote from: Crown on March 22, 2020, 06:58:20
Excellent work Dissident, it is really nice to see that people keep up developping for 68k Amigas. :)
Thank you, Crown.  :)

Dissident

Hi,

again an update of the "Ultimate Tracker Support" (UTS) from Resistance: http://aminet.net/util/cli/RSE-UTS.lha


V.1.5 - Brief overview of the changes


Replay routines:

- NT-Replay2.0_000_0x0 V.4.1

  • Now "Tone Portamento" doesn't call CheckMoreEffects anymore, if wanted period equals note period. I didn't consider this special case of the original Noisetracker/Startrekker replay routine yet.


- PT-Replay2.3a_000_0x0 V.4.1

  • Retrig note / Note Delay interrupt routine improved and optimized.


- PT-Replay2.4_000_0x0 V.1.0 (new)

  • Based on version 2.3, using the audio interrupts for rewriting the audio location and length registers makes a timer wait superfluous. This guarantees a smooth replay of loop samples with a repeat point of NULL instead of the usual cracking sound generated by the first cleared sample data word.

- PT-Replay3.0b_000_0x0 V.3.9

  • Retrig note / Note Delay interrupt routine improved and optimized.


- PT-Replay3.1_000_0x0 V.1.0 (new)

  • Based on version 3.0b, using the audio interrupts for rewriting the audio location and length registers makes a timer wait superfluous. This guarantees a smooth replay of loop samples with a repeat point of NULL instead of the usual cracking sound generated by the first cleared sample data word.


Some of the tools also got improved:

- WhichMOD V.1.5

  • Songspeed of NULL bpm is no longer displayed

  • Improved note info check in the patterns

  • Detection of Ultimate Soundtracker note cuts without an effect command

  • Considering special effect commands of the old Soundtracker 1-3 and old DOC Soundtracker 4-6

  • Used effect commands now displayed based on the logic of my overview "Tracker Features V.1.0" with their different command formats 0-2

  • Internal song restart position of Noisetracker 2.x or Startrekker 1.x modules with 4 or 8 channels now displayed


- UST2PT V.1.4

  • Now directories, set with the Shell "CD" command, properly supported and filename bug removed

  • Large samples of >32 kB now treated correctly

  • Detection and conversion of Ultimate Soundtracker note cuts without an effect command

  • Considering special effect commands of the old Soundtracker 1-3 and old DOC Soundtracker 4-6

  • Now only for modules with a songspeed that is not 120 bpm, the song-speed is multiplied by a factor. In case of 120 bpm, the standard tempo of 125 bpm is used, because 120 bpm modules are usally replayed in 50 fps/125 bpm (e.g. "STK.lepeltheme" of the game Sarcophaser)

  • More precise info which speed command could not be set if there are not enough channels without an effect command at the first position in the first played pattern


- OST2PT V.1.4

  • Now directories, set with the Shell "CD" command, properly supported and filename bug removed

  • Large samples of >32 kB now treated correctly

  • Detection and conversion of Ultimate Soundtracker note cuts without an effect command

  • Considering special effect commands of the old Soundtracker 1-3 and old DOC Soundtracker 4-6 and converting them if possible

  • Now only for modules with a songspeed that is not 120 bpm, the song-speed is multiplied by a factor. In case of 120 bpm, the standard tempo of 125 bpm is used, because 120 bpm modules are usally replayed in 50 fps/125 bpm.

  • More precise info which speed command could not be set if there are not enough channels without an effect command at the first position in the first played pattern


- ST2PT V.1.3

  • Now directories, set with the Shell "CD" command, properly supported and filename bug removed

  • Improved note info check in the patterns.

  • Large samples of >32 kB now treated correctly

  • There may be some Soundtracker modules with a speed command which sets the speed to a value > 15 ticks. If so, the Soundtracker compatible maximum of 15 ticks is set in the pattern

  • More precise info which speed command could not be set if there are not enough channels without an effect command at the first position in the first played pattern


- NT2PT V.1.0 (new)

  • If the internal song restart position is 1..127, an additional "end"-pattern with a "Position Jump restartpos" effect command is set in the first position of the additional pattern to ensure Protracker compability

  • Some Noisetracker modules (e.g. MOD.load master loading) have a speed command that sets > 31 ticks cause problems on the Protracker that interprets these values as tempo values. A speed > 31 ticks is set to the Noisetracker/Startrekker compatible maximum value of 31 ticks

  • More precise info which speed command could not be set if there are not enough channels without an effect command at the first position in the first played pattern


- SplitMOD V.2.0

  • Now directories, set with the Shell "CD" command, properly supported and filename bug removed

  • More precise error message if the length of the samples file will be NULL bytes

Crown


Dissident

Quote from: Crown on April 18, 2020, 08:21:21
Wonderful, what a great news.  :)

Thank you very much, Crown. That makes the effort worthwhile and is a great motivation.  :) :) :)

Crown

and your contribution to the amiga community is a gift!  :)