First things first, everyone loves ITTECH.TXT. There's a wikified 2.14v5 one on the SchismTracker wiki:
http://schismtracker.org/wiki/ITTECH.TXT
Then of course there's the changelogs. I've started working on an IT player library and these are absolutely invaluable (they even tell you when each feature was introduced):
http://gm.64pixels.org/stuff/others/impulse_tracker_versions.txt
The old ITTECH.TXT/.DOC files mentioned a few things...
- For IT 2.03, the Convert flag was defined, but in versions before that it was simply mentioned that it was used internally for conversion and it came with a warning not to stick anything in there.
- Voleffects were implemented in IT 2.08, but originally proposed in 2.03, although while Ax-Dx were the same, Ex and Fx were for pan slides, and Gx/Hx were only mentioned as "193->255 WILL probably be assigned meanings too..".
Jeffrey Lim was kind enough to document the resonant filters, even providing a bit of source code for calculations... when someone asked, that is. Oh yeah, it's also documented in MikIT.
http://schismtracker.org/wiki/Resonant%20Filters
He wasn't kind enough to document the IT214 sample compression, though. Fortunately, someone else worked out how it worked. It's documented in some huge comment here:
http://xmp.sourcearchive.com/documentation/2.0.4d-12/itsex_8c-source.html
Some notes though.
- By 0x8000 bytes, they mean each block decompresses to 0x8000 bytes (except for the last one in most cases). I was foolish enough to misread this.
- If a block decompresses badly, I forget exactly what happens, but it moves onto the next block. I don't want to implement this in munch.py though, as SchismTracker doesn't like it, and neither does anything else
- IT215 compression is indicated by Cvt bit 2 (0x04 / delta coding). It is done per-block.
- The only thing that implements stereo compressed samples as far as I know is XMPlay, which essentially treats them as two individual samples compressed one after another. munch.py will write these.
Finally, the most important resource, the trackers themselves. Storlek's tracker museum has a bunch of versions starting from IT 1.03, and I suggest you download them all and mirror the crap out of them before they disappear FOREVER (like for instance IT 1.04):
http://rigelseven.com/tracker_museum/impulse_tracker/
So let's make the world a modplug-free place, and start coding some good IT players for once.
No comments:
Post a Comment