As a preparation for mid2smps, I wrote an smps2mid converter. Now with source (Visual Basic 6), too. Last Update: v0.4.3 It supports these ROMs: - Sonic 1 - Sonic 2 (Final and Simon Wai Beta) - Sonic 3 - Sonic & Knuckles (seems quite unstable) - Sonic 3D - Sonic and Crackers - Oerg866's SMPS Player - Sonic 1 SMS/GG - Sonic 2 SMS/GG - Sonic Chaos SMS/GG - Sonic Triple Trouble - Sonic Blast SMS/GG A music pointer offset can be specified, so other ROMs are supported, too. It's also possible to load raw SMPS bin-files. Offset correction has to be done via user input. There's an auto-detection for 68k or Z80 SMPS format, as well as Sonic 1 SMS. Most SMPS tricks (global tempo modifier and co.) are supported. It works almost 100%. Tempo calculation should be 100% correct. (Sonic 2 Final, Sonic and Crackers and Sonic 1 SMS were verified with vgm logs.) Bugs and issues (all non-Sonic-1): - currently only the DAC notes for Sonic 1/2 Bass Drum and Snare Drum are mapped to the correct GM sounds - the tool may display run time errors or stop commands and will close afterwards - this should happen rarely to never - instruments may be out-of-tune because of strange key displacement values On my TODO list: - instrument mapping editor (for YM2612, PSG and DAC) - making S3&K more stable (many music pointers seem wrong) - Pitch Bend instead of Portamento Control - Pitch Bend for modulation effects Thanks to: - all the people who contributed to the Music Hacking Guide - nineko for the tempo calcuation algorithm - saxman for the Sonic 2 music decompression Comments and suggestions are welcome.