diff options
author | 2008-04-22 21:58:36 +0000 | |
---|---|---|
committer | 2008-04-22 21:58:36 +0000 | |
commit | 85a5a3d82772c9d0139b51fb871259ac7acc1124 (patch) | |
tree | 9458f26646fd9573dc0ae7315c4d3086ad48da15 /src/emu/sound/2203intf.c | |
parent | c000fcf52f299465873fa11d7b1bc3b47c0021d7 (diff) |
AY-3-8910 rewrite:
* adds a model to calculate mixing of channels with different resistance loads.
* based on above, each channel may be assigned a different load in individual case
i.e. channels not tied together
* rewrote ay8910.c to make emulation simpler
* changed the config structure to include a flag field and output resistor loads.
* Updated all drivers affected.
* Added some "Todos" related to stuff I discovered when reading datasheets.
* Fixed a bug in disc_flt.c (konami filters)
galaxian.c:
* Fixed discrete sound and konami filter addressing
* Changed addressing of AY-3-8910 to be in line with schematics
gyruss.c:
* Added discrete sound for filtering ("konami"-style) and mixing.
Diffstat (limited to 'src/emu/sound/2203intf.c')
-rw-r--r-- | src/emu/sound/2203intf.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/emu/sound/2203intf.c b/src/emu/sound/2203intf.c index 09a5c4461e8..74061b958da 100644 --- a/src/emu/sound/2203intf.c +++ b/src/emu/sound/2203intf.c @@ -107,7 +107,15 @@ static STATE_POSTLOAD( ym2203_postload ) static void *ym2203_start(int sndindex, int clock, const void *config) { - static const struct YM2203interface generic_2203 = { 0 }; + static const struct YM2203interface generic_2203 = + { + { + AY8910_LEGACY_OUTPUT, + AY8910_DEFAULT_LOADS, + NULL, NULL, NULL, NULL + }, + NULL + }; const struct YM2203interface *intf = config ? config : &generic_2203; struct ym2203_info *info; int rate = clock/72; /* ??? */ @@ -116,7 +124,7 @@ static void *ym2203_start(int sndindex, int clock, const void *config) memset(info, 0, sizeof(*info)); info->intf = intf; - info->psg = ay8910_start_ym(SOUND_YM2203, sndindex, clock, 3, intf->portAread, intf->portBread, intf->portAwrite, intf->portBwrite); + info->psg = ay8910_start_ym(SOUND_YM2203, sndindex, clock, &intf->ay8910_intf); if (!info->psg) return NULL; /* Timer Handler set */ |