Article History

65% kleeder

mod8k (format)

8k tracker module
token - mod8k

points - Chipist

file types - .mod .s3m .xm .it

max filesize - 8kb

description - recommended player for playback - XMPLay
  1. Specifications
  2. See Also

One of the variants of the S3XMODIT format, which enforces a maximum module size limit (commonly referred to as "Limited k" or "mod*k"). It earns a BotBr points of the chipist class instead of the mixist class, as achieved in the S3XMODIT format (more info on the different classes here).

See the 'See Also' paragraph for the other mod*k variants and formats closely related to them.


This mod*k S3XMODIT variant enforces a maximum module size of 8kB (8.192 bytes). Any module submitted larger than this size, as well as the use of FM instruments in Scream Tracker 3 modules, will be regarded as disqualified / cheating.

Currently (checked at 16 Aug 2011) the most challenging module category BotB has to offer, most likely because the average (read: not Strobe) .xm fanboy would make crap for a 4K and die attempting a 2K.

Having said that...

To measure what sort of stuff can be made for an 8K module, we'll take a look at the two categories below it (which aren't BotB categories yet): 4KB and 2KB. This is mostly based on iamgreaser's opinion.

When aiming for a tiny module, it will often be less than 4KB, but ever so slightly greater than 2KB after having the utter crap beat out of it. Without turning your piece into a smouldering pile of crap, 2KB is the lower bound. This also seems to apply to demo coding.

8KB is actually quite challenging to fill properly without resorting to flooding the module with samples, unless you're making a .mod, in which case you'll have a hard time finding any space when each pattern is 1KB.

Or if you don't know your pattern packing and decide to make a 24 channel .xm which when resaved as an .it goes down to about half the size. michu, take note.

Or if you're using buttplug and you manage to flood the crap out of your file with MIDI info. ant1, take note.

Or if you're using quite a few instruments in instrument mode in .it and not munching. I cant think of anyone who's done this.


Rule number one (for any size compo for that matter) is KNOW YOUR FORMAT. .s3m and .it work well with (at least horizontally) sparse patterns, whereas .xm really only works when the patterns are quite dense, and .mod isn't packed so it's advised that you suck every ounce of pattern you can. .it also has the added bonus of being able to reuse previous values (note, ins, vol, eff type + param (essentially a 2-byte field)) and so it can actually be very good if you use a crapton of channels for notes at different volumes / pitches / whatevers.

Rule number two is learn how to reuse patterns well. .it has per-channel volumes. For those of you who don't know where F1 is on your keyboard (read: .xm users), you may need to exploit the fact that in s3xmodit, playing a note without defining an instrument will play the note without resetting the volume to the sample default (note: for .mod it apparently doesn't retrigger the note either, but most players don't follow this behaviour so be wary). With that said, E6x/SBx (loop x times) can be useful. Also, don't be afraid to abuse your orderlist, especially if you can change your pattern lengths.

File Formats
The accepted module files are the same as in the normal S3XMODIT category:
*.s3m (Scream Tracker 3)
*.xm (Fast Tracker II)
*.mod (Amiga ProTracker)
*.it (Impulse Tracker)

Generally speaking, all tools / editors that allow for play back of one of the specific formats will do. The original tracker software should also be the most accurate.
However it is known that Milky Tracker's *.it playback is not accurate, as it's not fully compatible with the *.it file format (it does not correctly emulate NNAs, instruments, channel commands, and many more aspects of the format and instead tries to convert the *.it to an *.xm).

Software which use the modern and very accurate 'libopenmpt' library should suffice as well.

Two recommended tools for playback are:
OpenModPlugTracker (OpenMPT)
Schism Tracker

Tools & Tips
You can use the original tracker tool of a given format to write tracks for, though all of these are written for the MS-DOS platform and require the user to use either a real computer that runs MS-DOS or use a virtual machine (e.g. DOS-BOX) that can emulate a computer running MS-DOS.

Fortunately, there are plenty of modern re-implementations / clones of software that use these formats, that allow the user to work within a modern operating system and doesn't require the user the hassle around with virtual disks / directories to import/export samples, modules, etc.
The most used software for this appears to be OpenModPlugTracker (OpenMPT) at this moment.

Module Optimizing
Since sample data and pattern / sequence data can take up a lot of space, it's important to use small, mono, 8-bit sample data and not use high speeds for pattern data.

There's the concept of reuse of pattern data so that as little as possible sequence data is duplicated. When working in *.it, you can use the Mxx command to disable/enable channels. This is wonderfully demonstrated in the mod16k song 'Gunjo' by BotBr Maak.

You can also use BoobieSqueezer (for .*xm) or (for *.it) to further optimize module data, though these tools can cause some corruptions in very rare situations.

When working in the *.xm or *.it file formats within OpenMPT, you should always export using the 'Compatibility Export' feature, as it often shaves off a 1-3 kilobyte(s) and assumes better compatibility with the original trackers.

Not using instruments or combining instruments in *.it modules also saves space.

See Also

Other Variants
Listed below are the other mod*k S3XMODIT format variants:

Related Formats
Listed below are other related formats:
S3XMODIT (*.s3m, *.xm, *.mod, *.it)
Amigamod (*.mod)
ModPlugTracker Module (*.mptm)