A.D.A. Amiga Demoscene Archive

        Welcome guest!

  

  

  

log in with SceneID

  

Demos Amiga Demoscene Archive Forum / Coding / XM parsing

 

Author Message
dalton
Member
#1 - Posted: 17 Apr 2015 16:04
Reply Quote
Hi,

I'm looking for some help from someone who has experience in working with XM modules. I'm writing a parser to extract sample data but I can't find complete documentation of the different compression methods which seems to be in use.

From what I gather, the compression type is stored in the sample header, in the last byte before the sample name. If it's zero, then it's just delta encoding. If it equals $AD, then it's ADPCM. But I found that there can be other values in this byte - like 14,15,16,17,18,19,20. How should that be interpreted?

Cheers
hellfire
Member
#2 - Posted: 24 Apr 2015 23:06 - Edited
Reply Quote
Hi Dalton,

the only "official" compression sheme in XM modules (as written by fast tracker 2) is delta encoding.
uFMod introduced a hacked format with ADPCM compression, though.
This was mainly used for 64k intros. Mostly in combination with a stripped down pattern-format which was rearranged (in column major order) for better compression (which is completely incompatible to the XM format, of course).

If you're just heading for an XM parser, it's safe to ignore such exotics.
If you're looking for sample compression, there are probably better solutions than ADPCM.

Cheers.

 

  Please log in to comment

  

  

  

 

A.D.A. Amiga Demoscene Archive, Version 3.0