don't click here

smps2mid

Discussion in 'Technical Discussion' started by ValleyBell, May 10, 2011.

  1. evilhamwizard

    evilhamwizard

    Researcher
    1,392
    455
    63
    This is awesome! Working with the DAC/PSG channels is so much better than working with a MIDI converted with VGM2MID. Now I can finally fix up a Diamond Dust Zone Act 1 MIDI that doesn't sound like ass. :)

    Although I do have one request. Is it possible to split certain FM channels that change their "instrument" to separate tracks? I know that the MIDIs SMPS2MIDI outputs change the instruments within the one FM channel, but I'd like the option to output the changes to separate channels. Like for example:

    Chemical Plant before splitting:
    [​IMG]

    Chemical Plant after splitting:
    [​IMG]

    This is from a MIDI converted with VGM2MIDI but you get the idea.

    I'm not sure if there's a program out there that can do this to a MIDI - if there is, I'd love to know what it is. I had to split everything manually so I could work the the entire song in FL Studio. :\
     
  2. nineko

    nineko

    I am the Holy Cat Tech Member
    6,316
    489
    63
    italy
    So that's why I failed when I tried to port a song from STT to SC. Interesting.
     
  3. ValleyBell

    ValleyBell

    Tech Member
    246
    25
    28
    researching PC-98/X68000 sound drivers
    It's easier to write a seperate tool that does that. It would be an easy task, so I'll write one when I have some time.

    EDIT: added quote
     
  4. amphobius

    amphobius

    doing more important things with my life Member
    2,120
    0
    16
    life
    Sorry for the bump, but could you re-upload this? The link's gone down. Or if anyone could mirror it, that'd also be great.
     
  5. ValleyBell

    ValleyBell

    Tech Member
    246
    25
    28
    researching PC-98/X68000 sound drivers
    Hmm ... sometimes a few files on my Mediafire accunt seem to disappear.

    Here is the re-upload, or better said, the new smps2mid 0.4 beta.
    I've added 2 new SMPS formats since version 0.3.
    Which ones? That's something you have to find out by yourself. :P

    Enjoy!
     
  6. Sonic CD and Knuckles' Chaotix. :)

    *edit* Sorry about the bump.
     
  7. ValleyBell

    ValleyBell

    Tech Member
    246
    25
    28
    researching PC-98/X68000 sound drivers
    I already wondered when someone would finally notice it ...
    It's good to know there are still a few people that look for new features. :)
     
  8. amphobius

    amphobius

    doing more important things with my life Member
    2,120
    0
    16
    life
    Oh don't worry, I noticed it when selecting SMPS type, I just didn't make any posts about it! :v:

    It's interesting to see the past versions of the SCD music actually sequenced in a DAW, though.
     
  9. ValleyBell

    ValleyBell

    Tech Member
    246
    25
    28
    researching PC-98/X68000 sound drivers
    I already wondered when someone would finally notice it ...
    It's good to know there are still a few people that look for new features. :)

    EDIT: I got redirected to a white page every time I clicked the "Post" button. Please trash all the double posts.
     
  10. ValleyBell

    ValleyBell

    Tech Member
    246
    25
    28
    researching PC-98/X68000 sound drivers
    Let me present: smps2mid v0.4.3

    You can download the Win32 Binary or the source code.

    Compared to the 0.4.0 beta, there are a few new features:
    • proper PWM volume/pan conversion
    • support for generic SMPS Z80 and 68k formats
    • support for Ristar and Sonic Spinball SMS
    • improved conversions of songs within ROM banks (I.e. all Z80 formats)
    • fixed a bug with PSG 3 noise notes being off by 1 when replayed
    I also did a few changes to the source code that don't have an effect on the conversion, but they show what I have planned:
    • reworked large parts of the source code to make multiple SMPS variants easier to support
      -> preparation for externally definable SMPS coordination flags
    • changed the way I mapped DAC sounds and SMS drum notes
      -> next version will have custom DAC maps
    • It's currently hardcoded via constants, but in the future you have a few options for the PSG instruments.
      1. "Square Wave instrument + Bank LSB" or "PSG instrument = MIDI instrument"
      2. for PSG noise: "Note based on PSG instrument" or "use SMPS note and set vary PSG instrument"

    Sonic & Knuckles still doesn't work properly though. All you can do is decompressing the sound driver manually, insert it into the ROM and make smps2mid use the decompressed pointer lists.
    I also need to add a few additional features to improve SMPS Z80 pointer lists in general. There is currently no way to speficy a list of ROM bank values for the pointers. (And not only S&K and S3D are using such lists.)

    Also, if you wonder about the version number: fixed PWM volume algrithms were planned for 0.4.0 final, but I did SMPS Z80 support first.

    About those "generic" SMPS formats:
    SMPS 68k should work with almost all SMPS 68k games. I know that MJ's Moonwalker and Nekketsu Koukou Dodgeball Bu are using Sonic 1-style Modulation commands, so they won't convert correctly.
    SMPS Z80 should work with the majority of the SMPS Z80 games, but modified drivers and commands are a lot more common. Ghostbusters has a few custom flags but works mostly. OutRunners and Virtua Racing use a completely custom command set and don't work.
    There are a few differences between SMPS "Z80 a" and "Z80 b". One can control the YM2612 timer to change the music/sfx speed (Z80 a) and the other one can jump out of a loop (Z80 b). Just try the other variant if one doesn't work.

    Enjoy and happy converting!