<< Newer Article #75 Older >>

Chipping away….

The bulk driver conversion is well underway now. Unfortunately, it is a very manual procedure. In order to keep things from getting too confusing, I'm approaching it one sound chip at a time.

I first start by scanning all the files in MAME for a particular sound interface structure, say AY8910interface. Then I visit each instance of that interface, examine how it is used, and fix it up to the new specs. This involves visiting all the machine drivers that reference that sound interface and modifying the MDRV_SOUND_ADD macros to specify the clock. Then I have to add the speaker routing, which specifies how each output from the sound chip maps to a speaker, including the gain (volume). Once I've done that, I remove the clock and volume from the original sound interface.

One additional thing I have done is changed the main sndintrf.h include file so it doesn't include every single sound driver header. This means that for each driver I visit, I have to add an explicit #include at the top for each sound chip it uses. This is tedious, but should help the overall compile speed of MAME.

So far, I have completed all the AY8910, YM2203, YM2151, YM2608, YM2610, YM2612 and DAC interfaces. I am currently in the midst of doing the OKIM6295 ADPCM chip. After that, I will move on to less commonly used sound chips. Eventually, I will have fixed up every place in the code and then I get to try making it all compile. With luck, I may finish before next weekend....