General Category > Requests

STX format

(1/2) > >>

Anyone know what plays or converts these to be playable?

I noticed AMP has some of these in protracker format, but not all. Don't even remember what prod they came from.

 I believe it's the result of STM (Scream Tracker 2) conversion to be able to use them STX with the STMIK lib. This lib comes with a converter and that's what it generates.
 I think we don't want to store these :). It's like GDM or AMF (dmp conversion). Just some given replayer friendly format.



STX format description (also available from _

--- Code: ---analysed by Claudio Matsuoka <>

Format: STX
Version: 1.0, 1.1
Author: Sami Tammilehto, 1991
Origin: STMIK 0.2 (PC DOS)

The Scream Tracker Music Interface Kit was published by Future Crew along
with the Mental Surgery demo sources (, and a bugfix release
of the converter took place shortly thereafter ( The STX
format is a transition format between the Scream Tracker 2 (STM) and Scream
Tracker 3 (S3M) formats, and comes in two flavours: the original STM2STX 1.0
format and the "fixed" STM2STX 1.1 format.

The description below is based on reverse engineering of the Future Brain
STX module from Mental Surgery, and other STM files converted with the
supplied utility. Byte order is little-endian.

                                STX Module header
          0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F
  0000: | Song name, max 20 chars                                       |
  0010: |               |'!'|'S'|'c'|'r'|'e'|'a'|'m'|'!'|PatSize|  ???  |
  0020: |PatPtr |InsPtr |ChnPtr?|  ???  |  ???  |g.v|i.s|  ???  |  ???  |
  0030: |PatNum |InsNum |OrdNum |  ???  |  ???  |  ???  |'S'|'C'|'R'|'M'|
  xxx1: |Parapointers to patterns; length=PatNum*2                      |
  xxx2: |Parapointers to instruments; length=InsNum*2                   |
  xxx3: |??? Channel settings for 32 channels?                          |
  xxx4: |                                                               |
  xxx5: |Orders; length=OrdNum*5                                        |


        Parapointers to file offset Y is (Y-Offset of file header)/16.
        You could think of parapointers as segments relative to the
        start of the STX file.

PatSize = Size of the first pattern (in bytes)
        PatNum  = Number of patterns in file
        InsNum  = Number of instruments in file
        OrdNum  = Number of orders in file
g.v     = global volume (see next section)
        i.s     = initial speed (command A)

Instrument and pattern format is the same as S3M except that:

- There's no 'SCRS' mark in the end of the instrument header
- Adlib instruments are probably not supported
- STX 1.1 doesn't have the length of pattern before the packed pattern
  data. To test for STX 1.1, compare this value with the PatSize field
  in the module header.
- STX uses STM effect codes
- Slides are performed in all frames

Effects (same as STM):

A - Set tempo (60 == ptk 06)
B - Break pattern and jump to order
C - Break pattern
D - Slide volume; Hi-nibble=up, Lo-nibble=down
E - Pitch slide down
F - Pitch slide up
G - Tone portamento
H - Vibrato
I - Tremor; Hi-nibble = ontime, Lo-nibble = offtime
J - Arpeggio

--- End code ---

Asle fell for the same URL bug I reported a couple years ago already. ;D
AMP's forum application doesn't handle FTP links properly and ~converts~ these to http links rendering them broken. Therefor add a leading "_" char and your set for copy/paste action.


Hmmm, couldn't get it to work on win7 64bit.

Just wondered if there was a player that could play them so I could at least have a listen. Some of them are already on AMP in protracker format, was hoping they all were, but thanks anyway.

If Claudio has analyzed STX format, I bet it plays in XMP.


[0] Message Index

[#] Next page

Go to full version