don't click here

GEMS Sound Driver locations

Discussion in 'General Sega Discussion' started by Mikel, Sep 29, 2008.

  1. Mikel

    Mikel

    Member
    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
     
  2. drx

    drx

    mfw Researcher
    2,254
    350
    63
    :rolleyes:
    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
     
  3. roxahris

    roxahris

    Everyone's a hypocrite. Take my word for it. Member
    1,224
    0
    0
    Doing anything at all
    Will those files work in GEMS?
     
  4. Mikel

    Mikel

    Member
    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.
     
  5. ICEknight

    ICEknight

    Researcher Researcher
    No need to PM, there might be other people who want to know...
     
  6. Eduardo Knuckles

    Eduardo Knuckles

    Not a loved one, but the most hated person. Banned
    414
    10
    18
    Someplace somewhere
    Project S.A.M.G.
    This is pretty awesome. Now I can't wait to see a converter to port musics from GEMS games. :)
    Great work, man!
     
  7. Andlabs

    Andlabs

    「いっきまーす」 Wiki Sysop
    2,175
    1
    0
    Writing my own MD/Genesis sound driver :D
    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.
     
  8. nineko

    nineko

    I am the Holy Cat Tech Member
    6,298
    475
    63
    italy
    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.
     
  9. Glisp

    Glisp

    That one weird guy that does stuff. Member
    1,278
    1
    16
    Bloomington, IN
    None at the moment I'm afraid.
    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.
     
  10. TmEE

    TmEE

    Master of OPL3-SA2/3 Tech Member
    1,726
    2
    18
    Estonia, Rapla City
    T-04YBSC-A !
    GEMS sucks... Cube FTW
     
  11. nineko

    nineko

    I am the Holy Cat Tech Member
    6,298
    475
    63
    italy
    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.
     
  12. Glisp

    Glisp

    That one weird guy that does stuff. Member
    1,278
    1
    16
    Bloomington, IN
    None at the moment I'm afraid.

    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)
     
  13. Andlabs

    Andlabs

    「いっきまーす」 Wiki Sysop
    2,175
    1
    0
    Writing my own MD/Genesis sound driver :D
    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):
    1. *
    2. * Sequence Offset Table
    3. *
    4.  
    5.     dc.b    $04,$00; Offset to sequence #0: 4
    6.     dc.b    $11,$00; Offset to sequence #1: 17
    7. *
    8. * Sequence Descriptors
    9. *
    10.  
    11. * Sequence 0 "BMX, 32 bar loop"
    12.     dc.b    $06; channel count = 6
    13.     dc.b    $14,$00; offset to channel 0 = 20
    14.     dc.b    $76,$02; offset to channel 1 = 630
    15.     dc.b    $C1,$04; offset to channel 2 = 1217
    16.     dc.b    $28,$06; offset to channel 3 = 1576
    17.     dc.b    $BE,$08; offset to channel 4 = 2238
    18.     dc.b    $E0,$09; offset to channel 5 = 2528
    19. * Sequence 1 "Ship fire"
    20.     dc.b    $01; channel count = 1
    21.     dc.b    $DE,$0A; offset to channel 0 = 2782
    22. *
    23. * Sequence Channel Data
    24. *
    25.  
    26. * Sequence 0, Channel 0:
    27.     dc.b    $C0,$68,$4A,$61,$00,$64,$7F,$FC
    28.     dc.b    $63,$86,$C6,$1F,$21,$24,$84,$C4
    29. ...
    30.     dc.b    $30,$83,$30,$84,$30,$83,$30,$C0
    31.     dc.b    $65,$60
    32. * Sequence 0, Channel 1:
    33.     dc.b    $C0,$61,$01,$64,$7F,$C0,$63,$84
    34.     dc.b    $C6,$37,$83,$37,$84,$37,$83,$37
    35. ...
    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.
     
  14. roxahris

    roxahris

    Everyone's a hypocrite. Take my word for it. Member
    1,224
    0
    0
    Doing anything at all
    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.
     
  15. Tweaker

    Tweaker

    Banned
    12,387
    2
    0
    I fucking told you about this shit. Gone for a week.
     
  16. Cinossu

    Cinossu

    Administrator
    2,832
    44
    28
    London, UK
    Sonic the Hedgehog Extended Edition
    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.
     
  17. Glisp

    Glisp

    That one weird guy that does stuff. Member
    1,278
    1
    16
    Bloomington, IN
    None at the moment I'm afraid.
    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.
     
  18. muteKi

    muteKi

    Fuck it Member
    7,850
    131
    43
    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.
     
  19. Glisp

    Glisp

    That one weird guy that does stuff. Member
    1,278
    1
    16
    Bloomington, IN
    None at the moment I'm afraid.
    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*
     
  20. TmEE

    TmEE

    Master of OPL3-SA2/3 Tech Member
    1,726
    2
    18
    Estonia, Rapla City
    T-04YBSC-A !
    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