Ok, so you've played Sonic Spinball, right? Sonic Spinball uses the GEMS Sound Driver, so you can't port any of the songs from the game to Sonic 1 or 2 because the music isn't compressed in SMPS. Here are locations for Ship and Sonic Spinball (Thanks to drx for Ship): Ship: Driver: $0D574 - $0EDF9 Patches: $0EDFA - $0F0CB Sequences: $0F0CC - $0FBB2 Samples: $0FBB3 - $011345 Sonic Spinball: Driver: $0A882A - $0AA0AF Patches: $0AA0B0 - $0AB4FF Sequences: $0AB500 - $0B33C7 DAC: $0B33C8 - $0BD55C - Thanks to HPZMan for the locations of the DAC. Here is a List of games that use the GEMS, SMPS, and Cube Sound Drivers. And here are the Sound Driver files for Sonic Spinball and Ship: GEMS Sound Driver Files for Sonic Spinball and Ship
That's cool, glad someone was able to make use of the released GEMS driver. In fact I received another version that I need to release sometime :P
Thanks, I'll look forward for the next version of the GEMS development kit. Well, I have yet to check if the files work in the GEMS developmet kit. If they work, I'll PM you on how to open them on the GEMS development kit.
This is pretty awesome. Now I can't wait to see a converter to port musics from GEMS games. Great work, man!
Nice find, Mikel! Now all that's left is to add Music Hacking into the mix... but should it be mixed with the SMPS stuff? Or should I make a new page SCHG:Sonic Spinball Music Hacking? But first I'll have to find out about the GEMS music format. GEMS -> SMPS and SMPS -> GEMS might follow.
When I found locations for Mean Bean Machine, which uses the Cube driver, they've been put here. So I think you should do something similar.
I really want the Sound driver files for Jurassic Park and Jurassic Park Rampage Edition. I also want them from both Vectorman games. Basically, aside from a few games, the Gems sound driver looks like it was used for many STI games and Blue Sky software. Just about any game Affiliated with SOA used GEMS as long as it was made in America first, aside from some of the older games. This is kind of off subject so forgive me but Rocket Knight Adventures uses the Hyperstone Heist Sound Driver. I really want a tool in the future that can convert Sound Driver files between formats.
I think we all want that. But it's not as easy as you think. As of today, the only partially working cross-format converter is a Cube/Iwadare to SMPS converter. Though its results are sloppy because Cube/Iwadare is way more awesome than SMPS.
Well we don't quite know enough about the different formats yet. Hell some of them have Custom Sound Drivers we still don't even know the names to yet. (Example: Streets of Rage 2)
It looks like a GEMS to SMPS converter program would need to recognize that sequences (the music data), DAC samples, and patches (the FM and PSG voices) would be in separate files, and that the sequences file would contain all the songs. That is, music\Sequences.bin music\Patches.bin music\DAC.bin So a program would wind up having to ask for at least the Sequences and Patches file as well as the ID of the sequence they wish to convert. On the flipside, there would have to be a small tool to extract DAC samples; integration into the game is, well, just like whatever other samples of people saying FUCK THAT SHIT you can get into the ROM. Here is the format of the Sequences file: Offsets of definitions of all sequences [two bytes each] Definitions of all sequence [1 byte for number of channels n; 2n bytes for offsets of each channel] Channel data Here's Ship's, as an example: Code (Text): * * Sequence Offset Table * dc.b $04,$00; Offset to sequence #0: 4 dc.b $11,$00; Offset to sequence #1: 17 * * Sequence Descriptors * * Sequence 0 "BMX, 32 bar loop" dc.b $06; channel count = 6 dc.b $14,$00; offset to channel 0 = 20 dc.b $76,$02; offset to channel 1 = 630 dc.b $C1,$04; offset to channel 2 = 1217 dc.b $28,$06; offset to channel 3 = 1576 dc.b $BE,$08; offset to channel 4 = 2238 dc.b $E0,$09; offset to channel 5 = 2528 * Sequence 1 "Ship fire" dc.b $01; channel count = 1 dc.b $DE,$0A; offset to channel 0 = 2782 * * Sequence Channel Data * * Sequence 0, Channel 0: dc.b $C0,$68,$4A,$61,$00,$64,$7F,$FC dc.b $63,$86,$C6,$1F,$21,$24,$84,$C4 ... dc.b $30,$83,$30,$84,$30,$83,$30,$C0 dc.b $65,$60 * Sequence 0, Channel 1: dc.b $C0,$61,$01,$64,$7F,$C0,$63,$84 dc.b $C6,$37,$83,$37,$84,$37,$83,$37 ... No pointers to worry about! The only problem is that you have to adjust the header offsets if you change the data. Perhaps labels may help? I don't know why Technopop didn't do this. Now we just need to figure out what the data format is. The other data types are similar. While Mikel only pointed to three types of banks, Ship's source indicates that there is also a modulation bank (MBANK); Ship does not use it; the MBANK.ASM file has no data (only header comments). Does Sonic Spinball use it? And seriously, take a look at Ship's source. It's in the GEMS archive, in directory SHIP\MUSIC.
Sonic Spinball isn't the only GEMS game. You are retarded, and this is why. a) "Hyperstone Heist" is the name (in actuality, subtitle) of a game. The name of the Konami music driver isn't known. Streets of Rage 2's driver could be an early version of the Ancient MD driver, too. b) Your posts are practically "I want this music in my hack!" but... much less forward about it. Probably similar to SMPS modulation, but seperate from the song... maybe done per-instrument.
If said sequence data, that final section, can be worked out (what are flags, notes, durations, etc, and if it's similar to SMPS in any form down there), a converter wouldn't actually be too hard to throw together. I may take a look into this when I get home.
Um, no. It actually is called that. I got this from the list:Rocket Knight Adventures Konami/Hyperstone Heist. See for yourself: http://gdri.smspower.org/wiki/index.php/Me...und_Engine_List I knew it was the name of a game because I own it. It shares the sound driver of that game which was also made by Konami. I win this round! =P I had a right to do that since you called me retarded for the wrong reason. Next time do your research before calling someone else names.
I think what he was trying to point out was that most of the names on that list aren't formal or official but done largely for the purposes of identification. We don't need a name for the sound driver to figure out how it works or what other games use it.
Regardless though its still the same fucking sound driver that TMNT: Hyperstone Heist uses. How exactly do sound Drivers vary anyway? Does it have something to do with what instruments are available? I've noticed that GEMS music in general is very spiky and hard. (for lack of any better words to describe it. No pervertedness intended whatsoever.)Is this an actual characteristic of the sound driver or are all sound drivers capable of making very sharp and hard music? I know one of the tracks in Genesis/Mega Drive Ecco 2 (Asterite's Cave theme.) sounds sort of like typical GEMS music but it is using the Novotrade Sound driver so its not. I've noticed that GEMS is generally associated with games solely developed by SOA (aside from Blue Sky Software which is or should I say was - as they no longer exist - and a few minor third party games.) Not that it really matters I just think its kind of interesting. (I like learning about all aspects of Sega and its games. I literally drool while looking at this kind of stuff!=P) *drools*
GEMS is a pain in the ass with poor default instruments... and not many people bothered to make their own instruments... thus, most of the 200 games that use GEMS have poor sound. Also, GEMS cannot keep the beat, its fluctuating