vgmrips

The forum about vgm files
It is currently 2017-11-20, 5:51:20

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 5 posts ] 
Author Message
 Post subject: xm2vgm
PostPosted: 2013-04-28, 23:03:49 
Offline

Joined: 2011-11-30, 17:26:44
Posts: 457
Location: Italy
No, I'm not back. I'm making this one and only post since I feel this project is relevant here.

More than a month ago, while vgmrips was down, I made an XM to VGM converter that targets the YMZ280B (2×). It's a quite obscure chip, but ValleyBell suggested that and it's indeed a neat choice. ValleyBell also gets tons of credits for his help since he basically explained me everything about that chip (along with the usual tips about the VGM format itself).

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.

Image

Not all the XM effects are supported, once again. But the compatibility list is quite wide.

It runs in Windows 95 or better. Requires msvbvm50.dll

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 module player of choice resamples everything; in that case, though, the YMZ280B overflows instead and you get very low notes
Some examples:
Outrun2k (16-channels)
Kefrens Vector (4-channels)
Bub & Bob Shuffle (12-channels)
Heaven Revived (10-channels)
Commercial Rhythm (12-channels)
Dreams (16-channels)
Infinity (9-channels)
I Feel Happy! (16-channels)
Outrun Medley (4-channels)

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, but I really wanted to Open Source it this time. You're all encouraged to make improved versions (*cough* ValleyBell *cough*).

Download links:
Win32 executable (RAR file, 24538 bytes).
Visual Basic 5 source code (RAR file, 15188 bytes).

Sayonara~

edit: dropbox'd, imgur'd

_________________
My webhost decided to shut down most of my webspace without a warning. If you find any broken Digilander link in any of my posts (basically all of them should be), please inform me.


Last edited by Tom on 2015-06-26, 17:46:24, edited 4 times in total.

Top
 Profile  
 
 Post subject:
PostPosted: 2013-04-29, 3:15:51 

Musicians Musicians
Contributors Contributors
Offline

Joined: 2012-09-29, 11:45:48
Posts: 214
Location: Australia
Of course the provided examples had to be kickass to show off the potential as a proof-of-concept. :)

Great, thanks for sharing.

_________________
-dj.tuBIG/MaliceX


Top
 Profile  
 
 Post subject:
PostPosted: 2015-06-26, 17:16:13 
Offline
User avatar

Joined: 2015-06-08, 20:42:22
Posts: 30
Location: Argentina
Please update the link. The host site is down. :(


Top
 Profile  
 
 Post subject:
PostPosted: 2015-06-26, 17:35:02 
Offline

Joined: 2011-11-30, 17:26:44
Posts: 457
Location: Italy
Sorry about that, as you can see in my signature, Libero decided to kill most of my webspace because I violated the terms of use (which I did, but still...)

Instead of reuploading everything on Dropbox at the same time, I do that on a report-by-report basis, as, whenever someone asks me for something, I reupload that. This helps me track down which things are interesting and which things aren't.

EXE: https://dl.dropboxusercontent.com/u/17315175/xm2vgm020.rar
Source: https://dl.dropboxusercontent.com/u/17315175/xm2vgm020_src.rar

Hence, thanks for showing interest about this.

Best regards.

_________________
My webhost decided to shut down most of my webspace without a warning. If you find any broken Digilander link in any of my posts (basically all of them should be), please inform me.


Top
 Profile  
 
 Post subject:
PostPosted: 2015-07-12, 4:35:54 
Offline
User avatar

Joined: 2015-06-08, 20:42:22
Posts: 30
Location: Argentina
Thank you very much! I'll test this when I get home. :D


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group