I'm most experienced with Fasttracker 2 since I've used it for 9 years. Therefore I'm fully qualified to guide you only if you decide to go with that. But alas, Ft2 has been said to be a bitch with modern computers. (I have no personal experience on how it behaves under DOSBox since I have a low end computer dedicated to oldskool tracking.) Fortunately all the trackers share the same principles. So maybe this will help you to a start...
You should familiarize yourself with the tracker you're about to use. If you want to skip the theory and jump in straight ahead, you should probably load some module in the tracker and hit the play button. Examine the tracker. Where are the samples you hear playing located? How are they triggered?
The pattern view is the most essential part of a tracker. There you see notes (such as A-3, C-4 and E-4) travelling upwards from the bottom of the screen. There's other data too such as instrument/sample numbers (important in your quest of joining the three modules), volume and/or effectcommands. A standard .mod channel entry could be for example:
C-4 01 C30
That tells the tracker to play the note C-4 with sample 01 at volume 30h (hexadecimal).
In a Fasttracker 2 eXtended Module (.xm) there's a separate volume column and the entry could be something like:
E-4 07 38 800
That means: play the note E-4 with sample 07 at volume 38h panned all the way to the left (8 is the panning effect, value 00 means 100% left).
The instrument/sample table is where the sound samples are loaded. Now, if you load a module and instead of playing it you tap the QWERTY keys on your keyboard you should hear something. The keyboard functions as a "piano". You can play the selected sample at any pitch you want. If you select a different sample from the list, you get to play that one. Now, if you load a different sample in a slot that is already in use, the current sample will be replaced by the new one. You can easily see (or hear) yourself how this works if you, for instance, find a bass drum sample and replace it with, say, a crash cymbal. Press the play button and hear the chaos that is created when every time a bass kick was supposed to tap the beat, a cymbal takes its place and makes the song practically impossible to listen to.
Then there's the pattern order. You might have noticed when the module plays that the pattern usually comes to an end around the figure 64 (or 40h). The song itself doesn't end there but instead, continues on to the next pattern that might be completely different from the last one. In a new empty module, the pattern order view usually is something like:
00 00
That tells the tracker that when in songposition 00, play pattern 00.
You can add lines (songpositions) and change which patterns to use. Thus you make up the pattern order:
00 00
01 01
02 00
03 02
04 03
05 04
I think this should be pretty simple. The module now has 06 (00-05) songpositions with different pattern numbers associated with them. Now you would just have to load up some samples and insert some notes on the patterns (00-04) and you'd have a tiny little song ready. That's the basics (-pant-).
Now to the three-in-one-module-dilemma. Let's color code and oversimplify the three modules like this:
song1.s3m
song2.s3m
song3.s3m
Each exaple module has three songpositions, three different patterns and three different samples:
song1.s3m
pattern order:
00 00
01 01
02 02
sample table:
00 basskick
01 snaredrum
02 synthlead
song2.s3m
pattern order:
00 00
01 01
02 02
sample table:
00 monobass
01 majchord
02 minchord
song3.s3m
pattern order:
00 00
01 01
02 02
sample table:
00 sinchip
01 sawchip
02 sqrchip
I'd start with loading up song2.s3m. Then I'd save all its samples on the hdd with names like song2_00.iff, song2_01.iff and so on. You can use any format the tracker supports but I'd go with .iff because it supports 16bit samples AND retains loop points. Then (in Fasttracker 2) I'd save all the patterns with names like song2_00.xp, song2_01.xp...
When done with this, do the same to song3.s3m.
Then load song1.s3m. Now add songpositions to the pattern order and edit
00 00
01 01
02 02
to
00 00
01 01
02 02
03 03
04 04
05 05
06 06
07 07
08 08
Now load the previously saved patterns like this: pattern song2_00.xp goes to pattern 03, pattern song2_01.xp goes to pattern 04, ..., pattern song3_02.xp goes to pattern 08. Now you have the songs glued together. Songpositions and patterns 00..02 contain the original patterns from song1.s3m, 03..05 have 00..02 from song2.s3m in them and 06..08 is song3.s3m, like this:
pattern order:
00 00
01 01
02 02
03 03
04 04
05 05
06 06
07 07
08 08
We're not done yet. If you try to play the song now, it plays fine for the first 3 patterns. Then it starts to go wrong since in song2.s3m sample 00 was monobass and now it is basskick and so on..
Next you have to load the samples you saved before and use different sample slots. Sample song2_00.iff goes to slot03, sample song2_01.iff goes to slot 04, ..., sample song3_02.iff goes to slot 08. Build a sample table like this:
00 basskick
01 snaredrum
02 synthlead
03 monobass
04 majchord
05 minchord
06 sinchip
07 sawchip
08 sqrchip
Playing the song now will still sound wrong because the latter parts (song2 and song3) are still using the same samples as the first part. You have to remap the samples for songpositions 03..05 and 05..08. For 03..05, sample 00 becomes 03, 01 becomes 04 and so on.. For songpositions 06..08, sample 00 becomes 06 and so forth. Every tracker has its own implementation of sample/instrument remapping (if any) so I won't go into that just now. Once the samples are remapped, you should have all the songs in one module that you can save to (let's pick a pretty color) songs.xm and convert it to songs.mo3.
Oh, god. I've been typing this for two hours and it looks like a total chaos and a complete mess. I just have to stop right now. Hope this helps a bit.