Previous Page | Next Page

by dj4uk6cjm at 4:03 PM EDT on October 17, 2015
I believe koopatroop ripped the wav files for Luigi's Mansion a while back and made a thread about here: http://hcs64.com/mboard/forum.php?showthread=37532 specifically this link. It has all the instruments, wish there was a way to make a soundfont.
by kode54 at 5:59 AM EDT on October 18, 2015
Congratulations on an excellent start in the world of data analysis! Identifying the rest of those data structures may also yield even more data, such as the envelope or key data for the instruments, assuming that is stored in the BMS files.
by Yoshimaster96 at 8:25 AM EDT on October 18, 2015
Sorry, but the BMS files don't contain that information. They're in a separate "initialization" file.
by Yoshimaster96 at 6:13 PM EDT on October 18, 2015
Donkey Kong Jungle Beat:
https://www.dropbox.com/s/ijkw86r702fa8me/dkjbseq.zip?dl=0

Mario Kart Double Dash:
https://www.dropbox.com/s/3oddq29zcf1pcr6/mkddseq.zip?dl=0
by robotortoise at 3:45 PM EDT on October 19, 2015
The Wind Waker bms sequences work, though Four Swords Adventures and Twilight Princess don't. Presumably it's a newer version of bms.
by kode54 at 3:35 AM EDT on October 22, 2015
Debugging the parser on those files may yield information needed to find as yet unparsed message numbers. Of course, it will probably require examination in a hex editor and a keen eye to determine those messages' lengths, and whether or not they're anything that should be translated, or simply skipped.

Future hints for development. Don't be afraid to use memory allocation, especially if it can help avoid use of tiny temporary files. Don't worry about allocating memory out of order, either. You can just allocate the blocks you need, then assemble them into the file when you write it to disk.

I probably would have read the entire BMS to memory, depending on how large they are, and skip forward using the pointer and the size. Since we're talking C here, clever use of macros could probably reduce the code footprint of running range checks on the size remaining in memory.

ie.

#define skip(n) { ptr += (n); size -= (n); if (size < 0) handle error; }
#define read(ptr, n) { if (size < (n)) handle error; memcpy((ptr), file_ptr, (n)); file_ptr += (n); }


Or, alternatively, using the same macro definitions to check for errors from fseek and fread, in case file truncation should result in a safe failure.

Unknown messages should obviously result in a big honking error reporting the exact message code, so you don't have to run it under a debugger to find the problem.

Congratulations on what you've done so far, though. There probably haven't been any major format breakthroughs in the MIDI-like format community since the foobar2000 author cracked HMI and HMP over 10 years ago, which I later rewrote. (He gave me his code way back when, and instead of rewriting the ugly bunch of it like I should have, I used it verbatim, the dunce I am.)
by Yoshimaster96 at 8:54 AM EDT on October 23, 2015
There are BMS files in Mario Kart Double Dash, but some of them are empty. The files are as follows:

0001.bms : JA_BGM_TITLE
0002.bms : JA_BGM_SELECT
0003.bms : JA_BGM_OPTION
0004.bms : JA_BGM_RECORD
0005.bms : JA_BGM_START_FANFARE
0006.bms : JA_BGM_START_FANFARE2
0008.bms : JA_BGM_START_FANFARE4
0009.bms : JA_BGM_START_FANFARE5
0010.bms : JA_BGM_START_FANFARE6
0011.bms : JA_BGM_STAR
0012.bms : JA_BGM_FINALLAP_FANFARE
0013.bms : JA_BGM_WANWAN

11, 12, and 13 appear empty in my ROM. Maybe it's a bad ROM, so I'll have to test that.
by dj4uk6cjm at 10:59 AM EDT on October 23, 2015
At least there were some themes kept worthy enough for bms format as opposed to being streamed, let me know what you find out about MKDD. Would very much like to have all the midis from the game even if they are such a few, maybe try a NTSC rom version of the game if there is one (can't remember) and see if that works. Thanks.
by Yoshimaster96 at 6:23 PM EDT on October 23, 2015
I tried to test the star music, and it played. This confirms that the music is elsewhere.

[EDIT]

Confirmed. By ripping the instruments with wsyster, it turns out the last three songs are instruments, and not sequences.

edited 10:56 AM EDT October 24, 2015
by dj4uk6cjm at 4:01 PM EDT on October 25, 2015
Cool find! Do you mind uploading the instrument samples? I could use them for something I'm sure, thanks.

Previous Page | Next Page
Go to Page 0 1 2

Search this thread

Show all threads

Reply to this thread:

User Name Tags:

bold: [b]bold[/b]
italics: [i]italics[/i]
emphasis: [em]emphasis[/em]
underline: [u]underline[/u]
small: [small]small[/small]
Link: [url=http://www.google.com]Link[/url]

[img=https://www.hcs64.com/images/mm1.png]
Password
Subject
Message

HCS Forum Index
Halley's Comet Software
forum source