Skip to content

VGM2PRE open beta

Beta test!

Technical discussion about the VGM format, and all the software you need to handle VGM files.

Moderator: Staff

  • User avatar
  • neologix Offline
  • Posts: 211
  • Joined: 2012-04-22, 4:03:45
  • Location: New York, NY, USA

VGM2PRE open beta

Post by neologix »

Since I've forgotten who originally were beta testers, I've decided to make this beta version an open beta. Download below!
This version can do the following:
  • Dump YM2612 presets to .VGI for Shiru's VGM MM, among other apps
  • Dump YM2612 presets to .TFI for Shiru's TFM Maker and Aly James's FMDRIVE VSTi
  • Dump YM2612 presets to .TYI for superjoebob's YM2612 VSTi
  • Dump YM2612 presets to .EIF for use with the Echo Sound Format (experimental)
  • Dump YM2612 presets to .DMP for use with DefleMask Tracker (experimental)
To toggle various preset formats (mainly for preventing folder jam), use the following undocumented command "-p2612" (or "/p2612" for you Windows users):

Code: Select all

vgm2pre.exe -p2612 111110 files
It's undocumented because it's only temporary; eventually they'll be split out. The six-digit argument following -p2612 uses 1 or 0 for the digits and toggles formats in the following order from left to right:

VGI, TFI, TYI, EIF, DMP, Y12 (Y12 is currently unsupported and for now will only print a message to the console when enabled)

The formats that need the most testing are EIF (because I don't do Mega Drive development) and DMP (because I don't have DefleMask on any of my computers for now).

Also undocumented but probably more permanent is the ability to pass multiple files or directories to the app. Use this feature at your own risk, as this allows the potential to process the entire Genesis VGM library at once at the cost of using all your comp's memory and possibly BSODing as a result.
  • User avatar
  • neologix Offline
  • Posts: 211
  • Joined: 2012-04-22, 4:03:45
  • Location: New York, NY, USA

Post by neologix »

Update: please re-download, as thanks to Delek DMP file output now works properly in DefleMask!
  • User avatar
  • neologix Offline
  • Posts: 211
  • Joined: 2012-04-22, 4:03:45
  • Location: New York, NY, USA

Post by neologix »

NEW YEAR'S EVE UPDATE! Only 64-bit version for now.

http://www.luxatom.com/fk/vgm2pre-64.7z

Changes: I've finally added *.Y12 dumping and...A GUI!

The GUI is not finalized, but it's usable. The following menu items are usable:
  • File->Open File: Dump from a single file.
  • File->Open Directory: Dump from VGM/VGZ files in a single directory.
  • File->Quit: Quit the program.
  • Tools->Preferences: Toggle which formats get dumped for the given chips. Disabled checkboxes mean those formats aren't supported yet.
  • Help->About: Show program info.
You can also drag-and-drop multiple files and/or directories at once onto the GUI instead of opening one file/directory at a time. The list view on the left will update with the list of files that will be processed then the "Dump" button on the bottom will be enabled. Clicking it will dump whatever formats were checked on in the preferences if a given chip can dump to those formats (eg, VGI can be dumped from YM2612 but not from YM2151 for now).

I removed the -pOPN (formerly -p2612) command line argument for now because I'm focusing on the GUI. Once I finish GYB dumping for YM2612 I'll put it back in for those who want to use command line only for scripting and such. After GYB is added and tested, I'll update the stable version and commit the source to GitHub.
  • User avatar
  • MaliceX Offline
  • Posts: 226
  • Joined: 2012-09-29, 11:45:48
  • Location: Australia
  • Contact:

Post by MaliceX »

I wish to add BNK, IBK and SBI dumping for YM3812 and YMF262. Although I'm looking at the existing source tree on github, is it safe to add onto it? I'm also trying to understand if there's any specific architecture you wish for any additions to conform to?

Thanks
-dj.tuBIG/MaliceX
  • User avatar
  • neologix Offline
  • Posts: 211
  • Joined: 2012-04-22, 4:03:45
  • Location: New York, NY, USA

Post by neologix »

I'm actually going to commit a refactor of most of the code because of how I handled adding the GUI. The files in the source root are going in a subfolder, the 'formats' folder is going into that subfolder and renamed to 'fmt' among other changes (including updates to current nall+phoenix).

I'm still working on finishing up GYB dumping, but feel free to clone the repo and start working on SubYM3812 or SubAdLib or whatever you think it should be called. Regarding style, try to come close to how I handle SubYM2612 (which I may rename SubOPN at a future date but not the next version) and if you can document the file formats in header files in the formats folder that'd be awesome (that's for a later conversion function and for file-specific functionality like calculating GYB checksums).

My GYB dumping is so far turning up crap results, so I need to go over that a few more times before I even come close to finishing up YM2612.
  • User avatar
  • neologix Offline
  • Posts: 211
  • Joined: 2012-04-22, 4:03:45
  • Location: New York, NY, USA

Post by neologix »

NEW YEAR'S DAY UPDATE! GYB dumping is added! Please re-download from the 64-bit link and remember to toggle GYB on if you plan on using it.

(edit: compiled a 32-bit test, 32-bit Windows users let me know if it works thanks! http://www.luxatom.com/fk/vgm2pre-32.7z)
  • User avatar
  • neologix Offline
  • Posts: 211
  • Joined: 2012-04-22, 4:03:45
  • Location: New York, NY, USA

Post by neologix »

@MaliceX - if you want, you can pull the source now if you haven't already because I just pushed the refactor. It should be much cleaner now, though you may need to create an obj/ folder in the vgm2pre/ folder.
  • User avatar
  • neologix Offline
  • Posts: 211
  • Joined: 2012-04-22, 4:03:45
  • Location: New York, NY, USA

Post by neologix »

Current appearance sans banner image:

Image

I want to put something useful in the right half of the window instead of the giant empty text box, what useful info can go there?

Keep in mind that if the suggestion involves some sort of info from a selected file on the left that there will be a delay, possibly noticeable, between selecting the list item and the info showing up.

Post by Varion Icaria »

This program converts from VGM's only? would it be applicable to make it convert between formats aswell? Also adding support for SYX?
  • User avatar
  • neologix Offline
  • Posts: 211
  • Joined: 2012-04-22, 4:03:45
  • Location: New York, NY, USA

Post by neologix »

Varion Icaria wrote:This program converts from VGM's only? would it be applicable to make it convert between formats aswell? Also adding support for SYX?
Correct, only from VGM to anything else; r57shell at SpritesMind has a preset-to-preset converter somewhere based on my work if that's what you need.

Re SYX - if you can point me to its specs (either a reliable open-source codebase or reliable docs) I can add it for its appropriate chip(s) in the future. Next on the list is YM2151->OPM.
  • Alpine Offline
  • Posts: 3
  • Joined: 2014-08-10, 0:23:44

Post by Alpine »

neologix wrote:
Varion Icaria wrote:This program converts from VGM's only? would it be applicable to make it convert between formats aswell? Also adding support for SYX?
Correct, only from VGM to anything else; r57shell at SpritesMind has a preset-to-preset converter somewhere based on my work if that's what you need.

Re SYX - if you can point me to its specs (either a reliable open-source codebase or reliable docs) I can add it for its appropriate chip(s) in the future. Next on the list is YM2151->OPM.
Sorry to bump a 4 month old thread with very little to say, but I'd also love to be able to turn all of the .syx instrument dumps from my Yamaha PSS-680 into instruments usable in Deflemask. Other than checking the wiki entry on SysEx midi messages, and doing a quick google search for sysex documentation, I'm not sure what you could do. I mean, this looks like it'd be helpful, but I know diddly squat about what it really means. It was a link from here where someone is trying to reverse engineer the SysEx patch format to write a program for their Yamaha keyboard.

Probably wasn't much help, but good luck anyway.

Post by vampirefrog »

@Alpine: upload some syx files, might help for reverse engineering.
  • Alpine Offline
  • Posts: 3
  • Joined: 2014-08-10, 0:23:44

Post by Alpine »

A collection of vanilla .syx rips from a PSS-680 as well as some custom ones, exactly the same as the sysex patches folder you get when you download PSS edit. I couldn't remember if it came as one rar with rars inside of it, or separate rars, so I just re-hosted it
  • User avatar
  • MaliceX Offline
  • Posts: 226
  • Joined: 2012-09-29, 11:45:48
  • Location: Australia
  • Contact:

Post by MaliceX »

Alpine wrote:A collection of vanilla .syx rips from a PSS-680 as well as some custom ones, exactly the same as the sysex patches folder you get when you download PSS edit. I couldn't remember if it came as one rar with rars inside of it, or separate rars, so I just re-hosted it
You might want to try DXconvert (requires Python 2 or 3). I know it can convert .opm to DX7-compatible .syx. Maybe it supports PSS .syx to .opm? (although it depends entirely on whether or not the FM synthesis is compatible in any way)
http://dxconvert.martintarenskeen.nl/
-dj.tuBIG/MaliceX
  • Alpine Offline
  • Posts: 3
  • Joined: 2014-08-10, 0:23:44

Post by Alpine »

MaliceX wrote:
Alpine wrote:A collection of vanilla .syx rips from a PSS-680 as well as some custom ones, exactly the same as the sysex patches folder you get when you download PSS edit. I couldn't remember if it came as one rar with rars inside of it, or separate rars, so I just re-hosted it
You might want to try DXconvert (requires Python 2 or 3). I know it can convert .opm to DX7-compatible .syx. Maybe it supports PSS .syx to .opm? (although it depends entirely on whether or not the FM synthesis is compatible in any way)
http://dxconvert.martintarenskeen.nl/
Thanks man, I'll give it a go, and post my results back in a few days.
Post Reply