The forum about vgm files
It is currently 2020-09-30, 5:53:44

All times are UTC + 1 hour [ DST ]

Post new topic Reply to topic  [ 19 posts ]  Go to page Previous  1, 2
Author Message
 Post subject:
PostPosted: 2020-06-04, 1:10:11 

Joined: 2019-04-13, 15:38:34
Posts: 37
hay vally bell, your sps unpacker works great with the 3 games I tested. I only did the ones you personally tested, because there I know what files to use to get just the sc55 compatible midis, the fm ones probably won't play well in modurn soundfonts.
ever plan onadding the varient used in nemesis 90kai? it uses 3 different file extentions for the music, 1 for each module. for internal fm, for roland mt32/cm64, and is for roland gs (sc55).
also, ever plan on doing something similar for the magical company format? Magical Company is the studio responsible for the x68000 ports of some neo geo games. these games have sc55 music support. also do an extractor for star luster on x68000. and also the konami x68000 driver (for castlevania x68, of course)

be a hero and stop coppa now!

 Post subject:
PostPosted: 2020-06-04, 8:26:35 

Staff Staff
Programmers Programmers
Musicians Musicians
Contributors Contributors
Reverse engineers Reverse engineers
User avatar

Joined: 2011-12-01, 20:20:07
Posts: 3333
Location: Germany
The converter may work for other S.P.S. games, but you may need to play with the parameters.
The file extension is usually irrelevant/arbitrary.

I'm currently staying away from the Konami sound driver due to its complexity. (I only looked at the MegaDrive variant so far.)

As shown by the X68000 Music Drivers wiki page, games by Magical Company often use the ZmuSiC sound driver, which I already have a converter for.
The converter usually breaks on FM data though and works with v1 and v2 only. (ZmuSiC v3 uses a different binary format.)

When games compress their data, it is often a good idea to look for the respective Hoot packs. Those usually contain decompressed song data.

 Post subject: modified HMI2MID.bas
PostPosted: 2020-09-25, 14:33:20 

Contributors Contributors

Joined: 2016-06-24, 19:21:35
Posts: 19
As mentioned in the chatbox, the process I do is convert the hmp to mid with modded hmi2mid.bas. Then I use a batch file using programs mf2txp/t2mfxp to remove controllers 108/109 and modify controllers 110/111 to v=0.

The format from lemmings chronicles is strange and the only other game like it is Silverload so the instrument designators are not processed correctly currently.

Then to check the conversion, I use the official mid2hmp.exe that was released to the Descent community and in about 85% cases I get back a bit identical copy of the original hmp. The wildcard handling of mid2hmp is defective so a batch file should be used instead. And the other hmp that aren't identical to the original are usually a couple bytes different.

The newer HMP used in games like Slipstream 5000 have more controllers but without the corresponding mid2hmp I didn't investigate those controllers. The game Constructor included the last HMI format mid2hmi.exe so I plan to play with that in the future.

The instrument designators can't be used exclusively to determine which tracks are for which audio devices however. Because in many cases audio files that are meant for FM cards such as Descent HMQ, or SSF2T files ending in _F, often times have all their tracks labelled with all designators.

Tools/references used

MIDI2HMP - HMI specs for newest format but also pertains to older format

MF2T and T2MF

SED for Windows

Here is what I found on the instrument designators on the Descent HMP format

31 tracks (excluding timing track) * 20 bytes each = total of 620 bytes, starting at offset 0x90.

Each track is 20 bytes separated into 5 longs.

The first long of each track is always 00000000. The next 4 longs could be from the following:

0xA000 = General MIDI
0xA002 = FM OPL2/OPL3
0xA003 = Callback
0xA004 = Roland MT-32
0xA005 = Digital MIDI samples
0xA006 = Internal Speaker
0xA007 = Software Wavetable
0xA00A = Ultrasound

The abbreviations of the tracks are:
General MIDI = G
Callback = C
Roland MT-32 = M
Digital MIDI = D
Internal Speaker = I
Software Wavetable = W
Ultrasound = U

I'm unable to attach the .bas I modified from HMI2MID.bas because the message board will not accept it.

 Post subject: modified HMI2MID.bas
PostPosted: 2020-09-26, 0:54:21 

Contributors Contributors

Joined: 2016-06-24, 19:21:35
Posts: 19
I attached the bas and batch file.

File comment: The batch file I use afterwards to finish
fixHM2MID.txt [557 Bytes]
Downloaded 3 times
File comment: Modified bas.
hmp2mid.txt [10.32 KiB]
Downloaded 3 times
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 19 posts ]  Go to page Previous  1, 2

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
[ Time : 0.930s | 17 Queries | GZIP : On ]