During the last few months I continued my SMPS research. I disassembled many SMPS drivers and ripped a few more games.
And I also completely rewrote SMPSPlay from scratch.
So let me present: SMPSPlay v2
You can download a Windows binary
(32-bit and 64-bit) or the source code
The new version of SMPSPlay was made to be very flexible in order to support as many SMPS variants as possible.
You can make your own SMPS command set and adjust many driver-related settings like FM and PSG frequency tables.
A complete configuration for SMPS Z80 drivers can load up to 10 different files. (driver definition, command definition, modulation and PSG envelopes, DAC sounds and more)
Being a rewrite, it has a few disadvantages over the old one, of course. The new version is currently unable to play SFX and fade previous songs in. But I think these are only very minor issues, considering that it is now able to play almost every SMPS song out there.
Also, even though Chaotix is now supported, I don't emulate the PWM. Instead I imitate it using the YM2612's DAC, so I had to disable the FM6 channel for these songs. (That's noticeable especially in one of the songs.)
btw: If you tried MainMemory's SMPSOUT.DLL, you already heard the new SMPS engine in action.
I also updated the SMPS research package, it is at version 3
now. I ripped songs from another 4 SMPS 68k and 12 SMPS Z80 games, not counting the rips from beta versions of a few games like Sonic 3K and Sonic 2.
In order to be compatible with the new SMPSPlay, there is now a config.ini in every folder with songs.
Every game with a DefCFlag.txt in its folder should play perfectly in SMPSPlay. (I.e. everything SMPS Z80 and some SMPS 68k)
I also increased the number of sound and DAC driver disassemblies. Among them are 9 new SMPS 68k and 29 SMPS Z80 drivers.
Finally, I wrote a few additional tools. One of them, SmpsZ80Extract, analyses SMPS Z80 drivers, lists important offsets and dumps some of the data into files understood by SMPSPlay.
Then there are 3 tools specific to certain games and ROMs. These are decompressors for Dyna Brothers 1/2 and Sorcerian, as well as a tool to dump all sound driver data (both Z80 and 68k) from the Sega MegaCD BIOS files.
I wish you an interesting journey through all of the new driver disassemblies and tools and a nice listen through all of the ripped songs.
EDIT: There is a git repository
for SMPSPlay now.
This post has been edited by ValleyBell: 03 July 2014 - 01:54 PM