Here is another patch against 0.140u3 (so you’ll have to reverse the previous patch, if you used it, with -R) and our final update for 2010. If you wait a little bit longer, these changes should show up in MAME 0.141 along with other improvements. nimitz’s Shmupmame 3.0, based on MAME 99, should also have these changes. Here’s a list of changes for those who can’t really hear the difference:
- The clicks caused by transitioning between samples was removed using a bit of what I consider a hack — an envelope, starting at 0×40 and decremented by one each sample cycle, that is multiplied against the normal volume. When it reaches zero, the channel is effectively off. Key on is instantaneous to avoid killing off the short, already soft sound effects.
- The so called ‘approximate exponential’ formula for volume described in the patent is used and sounds much closer to the OSTs for the soundtracks. I think it may be ‘perfect’, but we won’t know for sure until the real hardware is tested. Also, as it turns out, Aaron Giles used the same formula in his ES5506 driver so we can be a bit more confident about its accuracy since the ICS2115/GF-1/ES5506 ‘OTTO’ are meant to be very similar.
- Interpolation modified for looping, a temporary change. The entire accumulation logic will have to be rewritten as in the patent, which may help. This needs to be done for u-Law, 8-bit samples (not used in Cave games).
At this point I am reluctant to work on the driver until I have a decent hardware setup and a whole bunch of data. Any changes I make may make things worse, not better, because it’s already so close. Here is a video of Espgaluda in MAME with this current patch, I would say it’s almost there — with typical speaker setups it’ll be probably be indistinguishable from the PCB:
Anyway, I should get going, have a happy new year and we’ll see you in 2011.
UPDATE: MAME 0.141 is released, just before the new year in pacific time.


