After mid2vgm, I felt that xm2vgm was another nice thing to have. ValleyBell suggested me to target the YMZ280B chip, and so I did. Therefore you'll need one of his players to replay VGM files created with my converter. For the record, ValleyBell gets tons of credits and special thanks, for all the tips he gave me while I was programming, he basically explained me everything about the YMZ280B chip, amongst other things. So, how does this work. You take an XM file you like and you can convert up to 16 channels (dual 8 channels) to a VGM file. If you want, nothing prevents you from merging the resulting VGM file with other ones to have many chips in the same file. Not all the XM effects are supported, once again. Compared to xm3smps, though, the compatibility list is much wider. But first, the template. Tool Name: xm2vgm Build: 0.2 OS: Windows 95 or better. Requires msvbvm50.dll Author(s): nineko Description: takes an XM files and returns a VGM file. Download: here (RAR file, 24538 bytes). Now, more details. Compatibility list. Effects 100% supported: 0xx, 1xx, 2xx, 3xx, 5xx, 8xx, 9xx, Axx, Bxx, Cxx, Dxx, E1x, E2x, EAx, EBx, Fxx, X1x, X2x. Partially supported: 6xx (rendered as Axx) Not supported but planned: E5x, E6x, E8x, E9x, ECx, EDx, Txx Not supported and not planned: 4xx, the other half of 6xx, 7xx, E3x, E4x, E7x, EEx, Gxx, Hxx, Kxx, Lxx, Pxx, Rxx [*]Volume Column 100% supported: Set Volume, Volume Slide Up/Down, Fine Volume Slide Up/Down Not supported and not planned: everything else [*]Other known unsupported things: samples with bidirectional loops (the YMZ280B just can't do them, I'd need to alter the sample data by hand, to add a backwards section at the right place) pan and volume envelopes Amiga frequency table (liner frequency table is always used) notes higher than 88200Hz. Don't be surprised, they happen quite often in chiptunes (but not only in them), you just don't notice that because your player of choice resamples everything; in that case, though, the YMZ280B overflows instead and you get very low notes Some examples:Outrun2k (16-channels) (updated) Kefrens Vector (4-channels) Bub & Bob Shuffle (12-channels) (updated) Heaven Revived (10-channels) (updated) Commercial Rhythm (12-channels) (updated) Dreams (16-channels) Infinity (9-channels) I Feel Happy! (16-channels) (updated) As you can see, this is far from perfect, and the conversions are a bit rough. Still, it was a nice exercise for me. Also: I did my best to write the best code possible, and I even commented it. This is unusual for me since my code is unreadable most of the times. I really plan to Open Source this at a certain point, if anything because the XM Loader is quite nice. edit: version 0.2 released. Some of the example VGM files were updated accordingly.