Skip to content

Instructions

Stefan Drissen edited this page Nov 15, 2021 · 1 revision

SAM MOD player

(C) 1996-2021 Stefan Drissen (aka Solar Flare of Entropy)

What is a module?

A module (commonly known as a mod) is a file that consists of samples and music data on how the samples should be played. Up to four channels can be played at once allowing impressive pieces of music to be composed. The MOD format originated on the Amiga and has undergone a whole range of improvements since then.

Sound Device

Upon loading the SAM MOD player you can select the sound device that you want to use to play your music through:

  • Sound chip
  • SAMdac
  • DAC
  • Blue Alpha Sampler
  • Quazar Soundcard
  • Screen

When a sound device is selected, the resolution at which each channel will be played is shown at the bottom of the screen. The more bits the better. Every extra bit, doubles the sound quality. This means that the sound quality of the SAMdac (7 bits) is 16 times (2^4) that of the internal sound chip (3 bits).

The Amiga speed allows you to slightly speed up the speed at which samples are played back. Samples will then be played back at the slightly faster speed of the typical American Amiga (NTSC). The standard value is of course the speed of the European PAL Amiga. You will notice that even on longer samples a change in speed doesn't make all too much of difference. This is because the NTSC is approximately 1% faster than the PAL. I just thought I'd better include the option though.

File Selector

Once you have selected your sound device the disc drive will start spinning and you will be presented with a list of the mod files on the current disc. One special feature of the file selector is that it automatically detects if the inserted disc is a PC disc or a SAM disc and then goes along and reads it irrespective of the format.

The file selector will show all valid mod files. A valid mod file has the ".MOD" extension on a PC disc or a ".M" extension on a SAM disc. Furthermore the length of any file that fulfills these requirements is compared to the sum of the samples and pattern data as contained within the header of the mod file. The difference between the sum and the file length may be up to 256 bytes. Files with a larger difference are considered not to be mod files. The SAM compressed mod (4 bit) format is also recognized - it must be noted that the quality of these mods is lower than an 8 bit mod when played on devices other than the sound chip.

You can move the flashing cursors with either the cursor keys or a joystick. You can select a file/drive by pressing RETURN or the fire button. By selecting the <1> (or <2> if you have two drives) the disc in that drive will be re-read and a new file list displayed. If you move the cursor to a file then at the bottom of the screen you will see information on that file. The following items are displayed: title, number of samples, number of bits per sample, number of song entries, (decompressed) file size in kilobytes and the creation date.

If you have a mass storage device attached, you can use left and right to change the current record. If you hold shift, the current record will be changed by 10 records. If you hold symbol, the current record will be changed by 50 records.

Originally mods only supported three octaves, this was due to Amiga hardware limitations. The migration of mod trackers to the PC introduced five octave mods. Due to the way the SAM MOD player works, if you want to load a five octave mod then you should first press "O", in the upper right corner you will then see the 3 change to a 5. Pressing "O" again reverts to 3 octave mode. You can hear this by short samples sounding clicky or a mod sounding out of tune (this is due to a portamento slide trying to pass the 3 octave boundary). Generally 3 octave mode will do fine. Do note that if you select 5 octave mode each sample requires some extra memory (approx 1k per sample) so that you may run out of memory with larger mods.

! You will not be warned if a mod is too large to fit into memory.

SAM MOD Player

On all screens from now on all numbers will be displayed in hexadecimal. Why hex? Firstly all tracker programs use hex notation, secondly it's a lot easier and faster to print hex digits on the screen.

There are six screens which you can flip between using the function keys (F1,F2,F3,F4,F5 and F6). Initially the tracker screen is shown. At the top right of some of the screens are three numbers. The first is the song entry, the second is the pattern and the third is the pattern row.

F1 Help Summary

This screen gives a quick summary of what all the keys do and can be used as an easy reference to prevent you having to read this file again.

F2 Sample List

This screen gives a list of the names of the samples used in the song. The first number gives the length of the sample in words (2 bytes), this means that samples can be up to 128k in length. The second digit is the default volume of the sample, this can range from &00 (off) to &40 (maximum volume). When a sample is played the volume is automatically set to the default volume. The little pointers to the left and right of the screen indicate which samples are being played. If you switch off a channel then that pointer will no longer be displayed.

F3 Sample List Extended

This screen gives a list of the header info of the samples. First the name (abbreviated) is displayed, then the sample length in words. Next up is the fine tune value, this can have a value between -8 to +7 and allows a sample to be played a fraction of a semitone higher or lower. The next value is the volume (see above). Next up is the offset of the sample loop (in words unless it's a bugged noisetracker loop) and the length of the loop in words.

F4 Tracker

This is my favourite screen, you can watch the music roll on by.

Below the name and pattern info:

  • Volume
  • Speed
  • Tempo

This is followed by pattern data for the four channels, each channel shows:

  1. Sample number;
  2. Note + octave (for 3 octave mods) or the period (for 5 octave mods - the lower the period the higher the pitch);
  3. Effect and parameter for the effect.

If the song speed is too high, the program can no longer keep up and rows will be skipped. The speed is generally too high when the frame speed is lower than three.

The song speed indicates how many 50ths of a second each pattern row takes. The temp is not in hex, it indicates the beats per minute, the default is 125. This is calculated as: a beat is once every four pattern rows, a pattern row takes 6/50s (by default - can be changed!). 50/(6*4) * 60s = 125 BPM. Tempo changes DO change the speed of the song as it should, however the way this is done is not the way this is supposed to be done, resulting in some songs sounding out of tune.

F5 Effects Summary

This screen rounds up all the effects possible and what the parameters do.

F6 Burstplayer Internals

Rather pointless unless you're interested. This screen shows the burstplayer data for one channel, by pressing F6 again you can go to the next channel. The first column is the offset of the sample, the next is the page, this is followed by the volume table address (divided by 256), then comes the speed (in fractions of 256) and the integer part of the speed.

Global keys

On all screens the following keys will result in action:

1 toggle channel one on or off

2 toggle channel two on or off

3 toggle channel three on or off

4 toggle channel four on or off

P pause tune, pressing P again unpauses

+ increase volume amplification with 25%. Holding shift down at the same time increases volume amplification with 100%.

- decrease volume amplification with 25%. Holding shift down at the same time decreases volume amplification with 100%.

C select palette set two, by default this is a totally black palette which can be useful if your TV hums a lot when there is stuff on the screen.

L toggle looping. When looping is on the tune restarts when it has finished playing and the position jump commands are not ignored. When looping is off and the tune has finished you are returned to the file selector, position jump commands ("B") are ignored.

ESC stop tune playing and return to file selector.

F9 reset the SAM.

The left and right cursor keys allow you to (re)wind through the module.

Technical Specifications

Sampling rate: 10.4khz with screen on Resolution: depending on sound device varies from 3 to 8 bits Stereo: depends on sound device Max mod size depends on how much memory you have:

  • 256K: approx 120K
  • 512K: approx 380K
  • 1MB: approx 1MB (but limited by maximum disk size)

Frequently (?) Asked Questions

Q: I'm not hearing anything, but the mod is playing. A: Check that you have selected a valid sound device, check the connections to the stereo.

Update history

  • 2.10 + volume amplification included, press + or - (with shift for greater changes) to change the amplification. + song speed and tempo now shown on tracker screen.
  • 2.05 + pressing C selects the alternate palette (all black) to prevent crappier TV's from hissing too much.
  • 2.04 - tempo bug removed. MODs with fast tempos (anything above the standard 125) will now play at the proper speed. (The frame pointer was being reset all the time, whereas it should have been able to hold other values).
  • 2.03 + speed and tempo reset upon looping mod. - pattern break to line bug removed. - pattern break after pattern loop bug removed. - bug in looping 768- to 1023-byte sample loops removed. * further code optimization.
  • 2.02 File selector bug for 1-drive SAMs removed. When a disc without any mod files was inserted you could move the pointer all the way down. Thanks to Andrew Collier for spotting this one and to Ian Collier for e-mailing it.
  • 2.01 BPM/Tempo support implemented
  • 2.00 first release version