don't click here

GEMS Sound Driver locations

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

  1. muteKi

    muteKi

    Fuck it Member
    7,647
    37
    28
    Now there'd be no reason one couldn't use most default SMPS instruments in GEMS right? Certainly neither really seems to make much use of those wonderous undocumented features of the 2612.
     
  2. Andlabs

    Andlabs

    「いっきまーす」 Wiki Sysop
    2,175
    1
    0
    Writing my own MD/Genesis sound driver :D
    <!--quoteo(post=313126:date=May 28 2009, 04:06 PM:name=muteKi)--><div class='quotetop'>QUOTE (muteKi @ May 28 2009, 04:06 PM) <a href="index.php?act=findpost&pid=313126">[​IMG]</a></div><div class='quotemain'><!--quotec-->Now there'd be no reason one couldn't use most default SMPS instruments in GEMS right? Certainly neither really seems to make much use of those wonderous undocumented features of the 2612.<!--QuoteEnd--></div><!--QuoteEEnd-->
    Code (Text):
    1. * Patch 14 "SOLOTPT1.FM": FM
    2. &nbsp;&nbsp;&nbsp;&nbsp;dc.b&nbsp;&nbsp;&nbsp;&nbsp;0
    3. &nbsp;&nbsp;&nbsp;&nbsp;dc.b&nbsp;&nbsp;&nbsp;&nbsp;$0B,$00,$35,$E3,$21,$0B,$94,$8C
    4. &nbsp;&nbsp;&nbsp;&nbsp;dc.b&nbsp;&nbsp;&nbsp;&nbsp;$01,$4B,$21,$25,$92,$80,$02,$37
    5. &nbsp;&nbsp;&nbsp;&nbsp;dc.b&nbsp;&nbsp;&nbsp;&nbsp;$31,$17,$9D,$05,$02,$46,$31,$11
    6. &nbsp;&nbsp;&nbsp;&nbsp;dc.b&nbsp;&nbsp;&nbsp;&nbsp;$9A,$00,$02,$48,$1F,$FF,$1F,$FF
    7. &nbsp;&nbsp;&nbsp;&nbsp;dc.b&nbsp;&nbsp;&nbsp;&nbsp;$1F,$FF,$1F,$FF,$0F,$00
    (How do you guys do asm highlighting?)

    Wow, that doesn't look like SMPS voice data, does it? You probably would have to manually assign each operator its value. And that's quite a few values! In the documentation that comes with GEMS:

    <!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->Artec format .FM and .PSG files can be imported into a GEMS patch bank. Artec PSG Noise patches cannot be reliably imported due to certain ambiguities in their file format... sorry. Gems can import (and export) its own .PAT file format which does not have this problem.<!--QuoteEnd--></div><!--QuoteEEnd-->

    Apparently the voice data is in one of the above formats. If the comment is hinting correctly, Ship uses the .FM/.PSG, so the data above is in Artec format. I wonder if Sonic Spinball has the same thing. And I don't think either format matches the SMPS format.

    Also something interesting:

    <!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->FM voice 3 can assign an arbitrary frequency to each of its 4 operators. This is refered to in various Yamaha and Genesis documentation as Channel 3 mode, and is useful for certain sounds such as drums. A note played using an FM Channel 3 Mode patch will require FM voice 3, or it will not be able to sound. For this reason, the voice allocation software will steer away from FM voice 3 for normal FM patches unless it is the only voice free.<!--QuoteEnd--></div><!--QuoteEEnd-->

    Does SMPS even have this?
     
  3. TmEE

    TmEE

    Master of OPL3-SA2/3 Tech Member
    1,726
    1
    18
    Estonia, Rapla City
    T-04YBSC-A !
    converter is all one would need.... my sound system uses wildly different intrument files than what TFM MM uses, but that does not stop me from using the TFI files.... TFI files don't hold as much stuff as TYI (my format) does...
     
  4. Mikel

    Mikel

    Member
    <!--quoteo(post=313143:date=May 28 2009, 12:19 PM:name=Andlabs)--><div class='quotetop'>QUOTE (Andlabs @ May 28 2009, 12:19 PM) <a href="index.php?act=findpost&pid=313143">[​IMG]</a></div><div class='quotemain'><!--quotec--><!--quoteo(post=313126:date=May 28 2009, 04:06 PM:name=muteKi)--><div class='quotetop'>QUOTE (muteKi @ May 28 2009, 04:06 PM) <a href="index.php?act=findpost&pid=313126">[​IMG]</a></div><div class='quotemain'><!--quotec-->Now there'd be no reason one couldn't use most default SMPS instruments in GEMS right? Certainly neither really seems to make much use of those wonderous undocumented features of the 2612.<!--QuoteEnd--></div><!--QuoteEEnd-->
    Code (Text):
    1. * Patch 14 "SOLOTPT1.FM": FM
    2. &nbsp;&nbsp;&nbsp;&nbsp;dc.b&nbsp;&nbsp;&nbsp;&nbsp;0
    3. &nbsp;&nbsp;&nbsp;&nbsp;dc.b&nbsp;&nbsp;&nbsp;&nbsp;$0B,$00,$35,$E3,$21,$0B,$94,$8C
    4. &nbsp;&nbsp;&nbsp;&nbsp;dc.b&nbsp;&nbsp;&nbsp;&nbsp;$01,$4B,$21,$25,$92,$80,$02,$37
    5. &nbsp;&nbsp;&nbsp;&nbsp;dc.b&nbsp;&nbsp;&nbsp;&nbsp;$31,$17,$9D,$05,$02,$46,$31,$11
    6. &nbsp;&nbsp;&nbsp;&nbsp;dc.b&nbsp;&nbsp;&nbsp;&nbsp;$9A,$00,$02,$48,$1F,$FF,$1F,$FF
    7. &nbsp;&nbsp;&nbsp;&nbsp;dc.b&nbsp;&nbsp;&nbsp;&nbsp;$1F,$FF,$1F,$FF,$0F,$00
    (How do you guys do asm highlighting?)

    Wow, that doesn't look like SMPS voice data, does it? You probably would have to manually assign each operator its value. And that's quite a few values! In the documentation that comes with GEMS:

    <!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->Artec format .FM and .PSG files can be imported into a GEMS patch bank. Artec PSG Noise patches cannot be reliably imported due to certain ambiguities in their file format... sorry. Gems can import (and export) its own .PAT file format which does not have this problem.<!--QuoteEnd--></div><!--QuoteEEnd-->

    Apparently the voice data is in one of the above formats. If the comment is hinting correctly, Ship uses the .FM/.PSG, so the data above is in Artec format. I wonder if Sonic Spinball has the same thing. And I don't think either format matches the SMPS format.

    Also something interesting:

    <!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->FM voice 3 can assign an arbitrary frequency to each of its 4 operators. This is refered to in various Yamaha and Genesis documentation as Channel 3 mode, and is useful for certain sounds such as drums. A note played using an FM Channel 3 Mode patch will require FM voice 3, or it will not be able to sound. For this reason, the voice allocation software will steer away from FM voice 3 for normal FM patches unless it is the only voice free.<!--QuoteEnd--></div><!--QuoteEEnd-->

    Does SMPS even have this?
    <!--QuoteEnd--></div><!--QuoteEEnd-->
    The Patch 14 code you posted above will look like this when highlighting with ASM, when highlighting in ASM, you can easily tell how RAM Values, and Equates work, you can also tell on how the op-codes (JMP, JSR, BRA, BSR, etc.) work:

    <!--g1--><div class='geshitop'>Syntax Highlighted Code: ASM</div><div class='codemain'><!--eg1--><pre class="asm">* Patch <span style="color: #ff0000;">14</span> <span style="color: #CC33CC;">"SOLOTPT1.FM"</span>: FM
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">0</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">0B</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">00</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">35</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">E3</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">21</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">0B</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">94</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">8C</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">01</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">4B</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">21</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">25</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">92</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">80</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">02</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">37</span></span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">31</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">17</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">9D</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">05</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">02</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">46</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">31</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">11</span></span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">9A</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">00</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">02</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">48</span></span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">1F</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">FF</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">1F</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">FF</span>
    <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">b</span> <span style="color: #ff0000;">$</span><span style="color: #ff0000;">1F</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">FF</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">1F</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">FF</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;">0F</span>,<span style="color: #ff0000;">$</span><span style="color: #ff0000;"><span style="color: #ff0000;">00</span></span></pre><!--gc2--><!--KiBQYXRjaCAxNCAmcXVvdDtTT0xPVFBUMS5GTSZxdW90OzogRk0KCWRjLmIJMAoJZGMuYgkmIzAzNjsw
    QiwmIzAzNjswMCwmIzAzNjszNSwmIzAzNjtFMywmIzAzNjsyMSwmIzAzNjswQiwmIzAzNjs5NCwmIzAzN
    js4QwoJZGMuYgkmIzAzNjswMSwmIzAzNjs0QiwmIzAzNjsyMSwmIzAzNjsyNSwmIzAzNjs5MiwmIzAzNj
    s4MCwmIzAzNjswMiwmIzAzNjszNwoJZGMuYgkmIzAzNjszMSwmIzAzNjsxNywmIzAzNjs5RCwmIzAzNjs
    wNSwmIzAzNjswMiwmIzAzNjs0NiwmIzAzNjszMSwmIzAzNjsxMQoJZGMuYgkmIzAzNjs5QSwmIzAzNjsw
    MCwmIzAzNjswMiwmIzAzNjs0OCwmIzAzNjsxRiwmIzAzNjtGRiwmIzAzNjsxRiwmIzAzNjtGRgoJZGMuY
    gkmIzAzNjsxRiwmIzAzNjtGRiwmIzAzNjsxRiwmIzAzNjtGRiwmIzAzNjswRiwmIzAzNjswMA==--><!--egc2--><!--g2--></div><!--eg2-->
    And for FM voice 3 assigning an arbitrary frequency to four of it's operators, It's not really possible with SMPS, it can get really, really complicated once you learn about working with Sound Drivers. All FM Channels in the GEMS Sound Driver use up to four operators, however, the SMPS Sound Driver only uses it's four operators for FM Instruments, and Voice Editing.
     
  5. Glisp

    Glisp

    That one weird guy that does stuff. Member
    1,278
    1
    16
    Bloomington, IN
    None at the moment I'm afraid.
    <!--quoteo(post=313108:date=May 28 2009, 03:37 PM:name=TmEE)--><div class='quotetop'>QUOTE (TmEE @ May 28 2009, 03:37 PM) <a href="index.php?act=findpost&pid=313108">[​IMG]</a></div><div class='quotemain'><!--quotec-->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<!--QuoteEnd--></div><!--QuoteEEnd-->

    Well I know a few of the games that work well with GEMS and their all designed by Blue Sky Software.
     
  6. nineko

    nineko

    I am the Holy Cat Tech Member
    6,173
    418
    63
    italy
    You know what, I'm not very intersted in neither Sonic Spinball nor Gems in general, though it would be neat to have a disassembly of Sonic Spinball, complete with editing tools. Maybe new songs and new levels would help make it a decent game.
    I'm up to help with that task eventually.
     
  7. drx

    drx

    mfw Researcher
    2,248
    325
    63
    :rolleyes:
    A disassembly of Sonic Spinball would be nonsensical, since it was programmed in C. The code output by the compiler just looks ugly. You'd either need the original source or decompile it somehow (not really that easy). I know someone with the source btw :P
     
  8. nineko

    nineko

    I am the Holy Cat Tech Member
    6,173
    418
    63
    italy
    Yeah I can see that, but then, at least it would be cool to know locations and formats, so one can make an in-rom level editor à la SonED1