Porting Music from one Sonic Disassembly to another

Discussion in 'Discussion & Q&A' started by Tanner, Nov 11, 2017.

  1. Tanner

    Tanner Newcomer Trialist

    Dec 23, 2016
    Hello everyone!
    I'm currently tinkering with the Sonic 3 Disassembly and try to incorporate music from the other disassembles.
    So far, however, the only music I've been able to make work is some of the Sonic 1 songs, most of which are sped up slightly and use the wrong instruments in some places.
    Is there a specific tutorial on porting music (in the .bin format from the disassembles) from one disassembly to another? If not, could someone explain what I might be doing wrong? Thank you.
    Additional Info:
    I used the MusicPointerFixer program to port the Sonic 1 music to Sonic 3, but as mentioned, it wasn't the best quality.
  2. Novedicus

    Novedicus All I wish is gone away... Member

    Aug 26, 2013
    The easiest way to port one song to another disassembly would be to use ASM versions of the songs you want to port. There exists SMPS2ASM, a tool that will convert BIN SMPS files to ASM, in which you then can use the macros supplied by it to automatically fix tempos, coordination flag IDs, etc. There exists a version from flamewing and another from Natsumi. To get fully working ports, you would need to see if the sound drivers support any coordination flags the song uses and if they have the PSG envelopes and DAC samples used by it as well.
    Natsumi likes this.
  3. Clownacy

    Clownacy UP - ON - CPU Staff

    Aug 15, 2014
    I'm pretty sure MusicPointerFixer is outdated. I think there's a tool called SMPSConv somewhere, but I've never used it. Personally I use SMPS2ASM, which converts songs into a text format which is then automatically converted to the format of your game at build-time. It's not an all-in-one solution though: SMPS2ASM can only convert the songs, but not the data the songs use (neither can MPF, to be fair, which is probably where those wrong instruments you mentioned came from), and by that I mean you'll have to port the missing DAC samples and PSG envelopes yourself, and then modify SMPS2ASM to use them. Sorry if that's not the answer you're looking for, but sound-related stuff is pretty involved.

    EDIT: Ninja'd
    Natsumi likes this.