View Single Post
Old 16 April 2010, 04:19   #13
8bitbubsy
Registered User
 
8bitbubsy's Avatar
 
Join Date: Sep 2009
Location: Norway
Posts: 1,710
Remember that XM has also got instruments (Envelopes etc)... And it supports 16 bits samples!

So if you were to write a converter, you'd have to:
- Clamp the rows below 64 (if >64) (or make a new pattern with pattern break)
- Clamp the number of patterns (orderlist) below 127 (if >127)
- If number of samples > 31, then don't process any more samples. MODs can't contain more than 31 samples.
- Convert 16 bit samples (if any) to 8 bit signed PCM and clamp their data length below 0xFFFF (65535 bytes)
- Read the instrument note table (if any) and fetch samp. number for C-3, assign as the number X sample
- Convert the notes to periods (and clamp above 28, below 1712)
IF you want to convert the column effects too:
- Convert volume column command (e.g. v63) to Cxx (MOD set volume command)
- Convert volume slides to Axx
- Ignore panning (e.g. p31), or convert to 8xx (FastTracker MOD only, not ProTracker)
-- If you do this effect column conversion stuff, make sure the current MOD column doesn't have any effect in it... This is kind of frustrating, and probably best to skip.

Not recommended for weak souls
The "best" solution is to open the .XM in a multi-format tracker, then save as .MOD.. Then you can tweak it yourself to make it as best as possible. But always remember: If you didn't make the tune yourself, you need to respect the author's work. Don't change/limitate it too much (which probably is impossible if you want to convert it).

Last edited by 8bitbubsy; 16 April 2010 at 04:40.
8bitbubsy is online now  
 
Page generated in 0.05067 seconds with 11 queries