Skip to content

Requesting Comix Zone OPM Files for VOPM

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

Moderator: Staff

Requesting Comix Zone OPM Files for VOPM

Post by TristTheMusica »

Hello, I've been having a struggle trying to find a way to use the Comix Zone OST's instrument patches.

I know stuff like the Genny VST and tools that convert VGM files into OPM exist but as a Mac user, I can't seem to do anything to get them working or find any alternate ways to get these instruments.

So I'm requesting if anyone has the OPM files of the game for use in the VOPM VST.

Thanks!

Re: Requesting Comix Zone OPM Files for VOPM

Post by donluca »

You can use https://github.com/vampirefrog/vgm2x to convert VGM to OPM.

EDIT: AFAIK the Comix Zone VGM rip wasn't done properly, so you might need to wait for someone to re-rip it properly with blast'em.

EDIT 2: ok it doesn't compile properly due to the variable PATH_MAX in vgm2x.c never being declared/initialiazed.

Code: Select all

gcc -MMD -c vgm2x.c -o vgm2x.o -Wall -ggdb 
vgm2x.c:54:15: error: use of undeclared identifier 'PATH_MAX'
                        char rpath[PATH_MAX]; // FIXME: maybe allocate n...
                                   ^
vgm2x.c:141:14: error: use of undeclared identifier 'PATH_MAX'
        char fmfile[PATH_MAX];
                    ^
vgm2x.c:288:22: error: use of undeclared identifier 'PATH_MAX'
                char writable_path[PATH_MAX];
                                   ^
vgm2x.c:304:56: warning: format specifies type 'unsigned long' but the argument
      has type 'zip_uint64_t' (aka 'unsigned long long') [-Wformat]
  ...fprintf(stderr, "Could not allocate %lu bytes\n", st.size);
                                         ~~~           ^~~~~~~
                                         %llu
vgm2x.c:314:61: warning: format specifies type 'unsigned long' but the argument
      has type 'zip_uint64_t' (aka 'unsigned long long') [-Wformat]
  ...fprintf(stderr, "Could not read %lu bytes from zip\n", st.size);
                                     ~~~                    ^~~~~~~
                                     %llu
vgm2x.c:329:15: error: use of undeclared identifier 'PATH_MAX'
                                char base[PATH_MAX];
                                          ^
vgm2x.c:353:13: error: use of undeclared identifier 'PATH_MAX'
                char base[PATH_MAX];
                          ^
2 warnings and 5 errors generated.
make: *** [vgm2x.o] Error 1
––––––––––––––––––––––––––––
Founder of the 16-bit Audiophile Project

Re: Requesting Comix Zone OPM Files for VOPM

Post by donluca »

Even declaring the path's max length in macOS unfortunately didn't fix the issue.

vgm2x compiles, but when run it crashes:

Code: Select all

MechBook:vgm2x donluca$ ./vgm2x ~/Downloads/26\ -\ Emerald\ Hill\ \(2P\).vgz -m OPM
vgm2x(52401,0x7fffa4f70380) malloc: *** error for object 0x7ffee4dfcf10: pointer being realloc'd was not allocated
*** set a breakpoint in malloc_error_break to debug
Abort trap: 6
MechBook:vgm2x donluca$ grep PATH_MAX /usr/include/sys/syslimits.h*
#define	PATH_MAX		 1024	/* max bytes in pathname */
Hopefully vampi will take a look at this and fix it so you can run vgm2x (ex vgm2opn) on macOS as well.
––––––––––––––––––––––––––––
Founder of the 16-bit Audiophile Project
  • User avatar
  • ValleyBell Offline
  • Posts: 4936
  • Joined: 2011-12-01, 20:20:07
  • Location: Germany

Re: Requesting Comix Zone OPM Files for VOPM

Post by ValleyBell »

For reference: Even "broken" rips usually have good instrument data.
The main issue with the old rips is additional data that shouldn't be there. (And then there is Rocket Knight Adventures, which sets the LFO speed to an incorrect default value. But that shouldn't carry over to OPM files.)

Re: Requesting Comix Zone OPM Files for VOPM

Post by donluca »

ValleyBell wrote: 2024-10-20, 19:48:20 For reference: Even "broken" rips usually have good instrument data.
The main issue with the old rips is additional data that shouldn't be there. (And then there is Rocket Knight Adventures, which sets the LFO speed to an incorrect default value. But that shouldn't carry over to OPM files.)
Thanks for the info!

Meanwhile I've opened an issue on Github, so hopefully he'll see it at some point and fix it when he has time.

I could try compiling older versions to see if there's one that works but honestly that's too much hassle.
––––––––––––––––––––––––––––
Founder of the 16-bit Audiophile Project

Re: Requesting Comix Zone OPM Files for VOPM

Post by donluca »

I've found the commit that "broke" vgm2x.

This is a statically linked macOS binary of vgm2x at revision 4be1e282292499c2c5637e84fad641bb1b74712b

I've tested it and it works on macOS High Sierra.
It's a 64-bit Intel binary, it will work on newer Apple Silicon under Rosetta 2.

Usage is ./vgm2x -o fileName.OPM VGMfileName.vgm
Attachments
vgm2x.zip
(452.47 KiB) Downloaded 11 times
––––––––––––––––––––––––––––
Founder of the 16-bit Audiophile Project
Post Reply