Previous 199869 Revisions Next

r22804 Monday 13th May, 2013 at 13:03:38 UTC by smf
modernised YM3812 [smf]
[src/emu/sound]3812intf.c 3812intf.h
[src/mame/audio]seibu.c seibu.h
[src/mame/drivers]actfancr.c aerofgt.c alpha68k.c amaticmg.c armedf.c battlnts.c crospang.c csplayh5.c dec0.c dec8.c deniam.c discoboy.c esd16.c fuukifg2.c gaelco.c galspnbl.c hcastle.c igs011.c itech8.c lordgun.c nbmj8688.c nbmj8891.c nbmj8900.c nbmj8991.c nbmj9195.c nemesis.c niyanpai.c nmg5.c oneshot.c onetwo.c pcktgal.c pokechmp.c prehisle.c rollerg.c sauro.c seta.c snk.c snk68.c snowbros.c spbactn.c spdodgeb.c speedbal.c splash.c spy.c stadhero.c subsino.c subsino2.c suna8.c tbowl.c tecmo.c toaplan1.c toaplan2.c toki.c twincobr.c umipoker.c unico.c wardner.c yunsun16.c yunsung8.c
[src/mess/machine]isa_adlib.c isa_sblaster.c isa_stereo_fx.c

trunk/src/emu/sound/3812intf.c
r22803r22804
2222#include "sound/fmopl.h"
2323
2424
25struct ym3812_state
25static void IRQHandler(void *param,int irq)
2626{
27   sound_stream *  stream;
28   emu_timer *     timer[2];
29   void *          chip;
30   const ym3812_interface *intf;
31   device_t *device;
32   devcb_resolved_write_line irqhandler;
33};
27   ym3812_device *ym3812 = (ym3812_device *) param;
28   ym3812->_IRQHandler(irq);
29}
3430
35
36INLINE ym3812_state *get_safe_token(device_t *device)
31void ym3812_device::_IRQHandler(int irq)
3732{
38   assert(device != NULL);
39   assert(device->type() == YM3812);
40   return (ym3812_state *)downcast<ym3812_device *>(device)->token();
33   if (!m_irq_handler.isnull())
34      m_irq_handler(irq);
4135}
4236
43
44
45static void IRQHandler(void *param,int irq)
37/* Timer overflow callback from timer.c */
38void ym3812_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
4639{
47   ym3812_state *info = (ym3812_state *)param;
48   if (!info->irqhandler.isnull())
49      info->irqhandler(irq ? ASSERT_LINE : CLEAR_LINE);
40   switch(id)
41   {
42   case 0:
43      ym3812_timer_over(m_chip,0);
44      break;
45
46   case 1:
47      ym3812_timer_over(m_chip,1);
48      break;
49   }
5050}
51static TIMER_CALLBACK( timer_callback_0 )
52{
53   ym3812_state *info = (ym3812_state *)ptr;
54   ym3812_timer_over(info->chip,0);
55}
5651
57static TIMER_CALLBACK( timer_callback_1 )
52static void timer_handler(void *param,int c,attotime period)
5853{
59   ym3812_state *info = (ym3812_state *)ptr;
60   ym3812_timer_over(info->chip,1);
54   ym3812_device *ym3812 = (ym3812_device *) param;
55   ym3812->_timer_handler(c, period);
6156}
6257
63static void TimerHandler(void *param,int c,attotime period)
58void ym3812_device::_timer_handler(int c, attotime period)
6459{
65   ym3812_state *info = (ym3812_state *)param;
6660   if( period == attotime::zero )
6761   {   /* Reset FM Timer */
68      info->timer[c]->enable(false);
62      m_timer[c]->enable(false);
6963   }
7064   else
7165   {   /* Start FM Timer */
72      info->timer[c]->adjust(period);
66      m_timer[c]->adjust(period);
7367   }
7468}
7569
7670
77static STREAM_UPDATE( ym3812_stream_update )
71static void ym3812_update_request(void * param, int interval)
7872{
79   ym3812_state *info = (ym3812_state *)param;
80   ym3812_update_one(info->chip, outputs[0], samples);
73   ym3812_device *ym3812 = (ym3812_device *) param;
74   ym3812->_ym3812_update_request();
8175}
8276
83static void _stream_update(void * param, int interval)
77void ym3812_device::_ym3812_update_request()
8478{
85   ym3812_state *info = (ym3812_state *)param;
86   info->stream->update();
79   m_stream->update();
8780}
8881
8982
90static DEVICE_START( ym3812 )
83//-------------------------------------------------
84//  sound_stream_update - handle a stream update
85//-------------------------------------------------
86
87void ym3812_device::sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples)
9188{
92   static const ym3812_interface dummy = { DEVCB_NULL };
93   ym3812_state *info = get_safe_token(device);
94   int rate = device->clock()/72;
89   ym3812_update_one(m_chip, outputs[0], samples);
90}
9591
96   info->intf = device->static_config() ? (const ym3812_interface *)device->static_config() : &dummy;
97   info->device = device;
98   info->irqhandler.resolve(info->intf->irqhandler, *device);
92//-------------------------------------------------
93//  device_start - device-specific startup
94//-------------------------------------------------
9995
96void ym3812_device::device_start()
97{
98   int rate = clock()/72;
99
100   m_irq_handler.resolve();
101
100102   /* stream system initialize */
101   info->chip = ym3812_init(device,device->clock(),rate);
102   assert_always(info->chip != NULL, "Error creating YM3812 chip");
103   m_chip = ym3812_init(this,clock(),rate);
104   assert_always(m_chip != NULL, "Error creating YM3812 chip");
103105
104   info->stream = device->machine().sound().stream_alloc(*device,0,1,rate,info,ym3812_stream_update);
106   m_stream = machine().sound().stream_alloc(*this,0,1,rate);
105107
106108   /* YM3812 setup */
107   ym3812_set_timer_handler (info->chip, TimerHandler, info);
108   ym3812_set_irq_handler   (info->chip, IRQHandler, info);
109   ym3812_set_update_handler(info->chip, _stream_update, info);
109   ym3812_set_timer_handler (m_chip, timer_handler, this);
110   ym3812_set_irq_handler   (m_chip, IRQHandler, this);
111   ym3812_set_update_handler(m_chip, ym3812_update_request, this);
110112
111   info->timer[0] = device->machine().scheduler().timer_alloc(FUNC(timer_callback_0), info);
112   info->timer[1] = device->machine().scheduler().timer_alloc(FUNC(timer_callback_1), info);
113   m_timer[0] = timer_alloc(0);
114   m_timer[1] = timer_alloc(1);
113115}
114116
115static DEVICE_STOP( ym3812 )
117//-------------------------------------------------
118//  device_stop - device-specific stop
119//-------------------------------------------------
120
121void ym3812_device::device_stop()
116122{
117   ym3812_state *info = get_safe_token(device);
118   ym3812_shutdown(info->chip);
123   ym3812_shutdown(m_chip);
119124}
120125
121static DEVICE_RESET( ym3812 )
126//-------------------------------------------------
127//  device_reset - device-specific reset
128//-------------------------------------------------
129
130void ym3812_device::device_reset()
122131{
123   ym3812_state *info = get_safe_token(device);
124   ym3812_reset_chip(info->chip);
132   ym3812_reset_chip(m_chip);
125133}
126134
127135
128READ8_DEVICE_HANDLER( ym3812_r )
136READ8_MEMBER( ym3812_device::read )
129137{
130   ym3812_state *info = get_safe_token(device);
131   return ym3812_read(info->chip, offset & 1);
138   return ym3812_read(m_chip, offset & 1);
132139}
133140
134WRITE8_DEVICE_HANDLER( ym3812_w )
141WRITE8_MEMBER( ym3812_device::write )
135142{
136   ym3812_state *info = get_safe_token(device);
137   ym3812_write(info->chip, offset & 1, data);
143   ym3812_write(m_chip, offset & 1, data);
138144}
139145
140READ8_DEVICE_HANDLER( ym3812_status_port_r ) { return ym3812_r(device, space, 0); }
141READ8_DEVICE_HANDLER( ym3812_read_port_r ) { return ym3812_r(device, space, 1); }
142WRITE8_DEVICE_HANDLER( ym3812_control_port_w ) { ym3812_w(device, space, 0, data); }
143WRITE8_DEVICE_HANDLER( ym3812_write_port_w ) { ym3812_w(device, space, 1, data); }
146READ8_MEMBER( ym3812_device::status_port_r ) { return read(space, 0); }
147READ8_MEMBER( ym3812_device::read_port_r ) { return read(space, 1); }
148WRITE8_MEMBER( ym3812_device::control_port_w ) { write(space, 0, data); }
149WRITE8_MEMBER( ym3812_device::write_port_w ) { write(   space, 1, data); }
144150
145151
146152const device_type YM3812 = &device_creator<ym3812_device>;
147153
148154ym3812_device::ym3812_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
149155   : device_t(mconfig, YM3812, "YM3812", tag, owner, clock),
150      device_sound_interface(mconfig, *this)
156      device_sound_interface(mconfig, *this),
157      m_irq_handler(*this)
151158{
152   m_token = global_alloc_clear(ym3812_state);
153159}
154160
155161//-------------------------------------------------
r22803r22804
161167void ym3812_device::device_config_complete()
162168{
163169}
164
165//-------------------------------------------------
166//  device_start - device-specific startup
167//-------------------------------------------------
168
169void ym3812_device::device_start()
170{
171   DEVICE_START_NAME( ym3812 )(this);
172}
173
174//-------------------------------------------------
175//  device_reset - device-specific reset
176//-------------------------------------------------
177
178void ym3812_device::device_reset()
179{
180   DEVICE_RESET_NAME( ym3812 )(this);
181}
182
183//-------------------------------------------------
184//  device_stop - device-specific stop
185//-------------------------------------------------
186
187void ym3812_device::device_stop()
188{
189   DEVICE_STOP_NAME( ym3812 )(this);
190}
191
192//-------------------------------------------------
193//  sound_stream_update - handle a stream update
194//-------------------------------------------------
195
196void ym3812_device::sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples)
197{
198   // should never get here
199   fatalerror("sound_stream_update called; not applicable to legacy sound devices\n");
200}
trunk/src/emu/sound/3812intf.h
r22803r22804
33#ifndef __3812INTF_H__
44#define __3812INTF_H__
55
6#include "devlegcy.h"
6#include "emu.h"
77
8struct ym3812_interface
9{
10   devcb_write_line irqhandler;
11};
8#define MCFG_YM3812_IRQ_HANDLER(_devcb) \
9   devcb = &ym3812_device::set_irq_handler(*device, DEVCB2_##_devcb);
1210
13DECLARE_READ8_DEVICE_HANDLER( ym3812_r );
14DECLARE_WRITE8_DEVICE_HANDLER( ym3812_w );
15
16DECLARE_READ8_DEVICE_HANDLER( ym3812_status_port_r );
17DECLARE_READ8_DEVICE_HANDLER( ym3812_read_port_r );
18DECLARE_WRITE8_DEVICE_HANDLER( ym3812_control_port_w );
19DECLARE_WRITE8_DEVICE_HANDLER( ym3812_write_port_w );
20
2111class ym3812_device : public device_t,
2212                           public device_sound_interface
2313{
2414public:
2515   ym3812_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
26   ~ym3812_device() { global_free(m_token); }
2716
28   // access to legacy token
29   void *token() const { assert(m_token != NULL); return m_token; }
17   // static configuration helpers
18   template<class _Object> static devcb2_base &set_irq_handler(device_t &device, _Object object) { return downcast<ym3812_device &>(device).m_irq_handler.set_callback(object); }
19
20   DECLARE_READ8_MEMBER( read );
21   DECLARE_WRITE8_MEMBER( write );
22
23   DECLARE_READ8_MEMBER( status_port_r );
24   DECLARE_READ8_MEMBER( read_port_r );
25   DECLARE_WRITE8_MEMBER( control_port_w );
26   DECLARE_WRITE8_MEMBER( write_port_w );
27
28   void _IRQHandler(int irq);
29   void _timer_handler(int c, attotime period);
30   void _ym3812_update_request();
31
3032protected:
3133   // device-level overrides
3234   virtual void device_config_complete();
r22803r22804
3436   virtual void device_stop();
3537   virtual void device_reset();
3638
39   virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
40
3741   // sound stream update overrides
3842   virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples);
43
3944private:
40   // internal state
41   void *m_token;
45   sound_stream *  m_stream;
46   emu_timer *     m_timer[2];
47   void *          m_chip;
48   devcb2_write_line m_irq_handler;
4249};
4350
4451extern const device_type YM3812;
trunk/src/mess/machine/isa_stereo_fx.c
r22803r22804
66
77const device_type ISA8_STEREO_FX = &device_creator<stereo_fx_device>;
88
9static const ym3812_interface pc_ym3812_interface =
10{
11   DEVCB_NULL
12};
13
149READ8_MEMBER( stereo_fx_device::dev_dsp_data_r )
1510{
1611   m_data_in = false;
r22803r22804
113108
114109   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
115110   MCFG_SOUND_ADD("ym3812", YM3812, XTAL_3_579545MHz)
116   MCFG_SOUND_CONFIG(pc_ym3812_interface)
117111   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.00)
118112   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00)
119113   /* no CM/S support (empty sockets) */
r22803r22804
203197
204198void stereo_fx_device::device_start()
205199{
206   set_isa_device();
200   ym3812_device *ym3812 = subdevice<ym3812_device>("ym3812");
201
207202   m_isa->install_device(0x0200, 0x0207, 0, 0, read8_delegate(FUNC(pc_joy_device::joy_port_r), subdevice<pc_joy_device>("pc_joy")), write8_delegate(FUNC(pc_joy_device::joy_port_w), subdevice<pc_joy_device>("pc_joy")));
208203   m_isa->install_device(0x0226, 0x0227, 0, 0, read8_delegate(FUNC(stereo_fx_device::invalid_r), this), write8_delegate(FUNC(stereo_fx_device::dsp_reset_w), this));
209204   m_isa->install_device(0x022a, 0x022b, 0, 0, read8_delegate(FUNC(stereo_fx_device::dsp_data_r), this), write8_delegate(FUNC(stereo_fx_device::invalid_w), this) );
210205   m_isa->install_device(0x022c, 0x022d, 0, 0, read8_delegate(FUNC(stereo_fx_device::dsp_wbuf_status_r), this), write8_delegate(FUNC(stereo_fx_device::dsp_cmd_w), this) );
211206   m_isa->install_device(0x022e, 0x022f, 0, 0, read8_delegate(FUNC(stereo_fx_device::dsp_rbuf_status_r), this), write8_delegate(FUNC(stereo_fx_device::invalid_w), this) );
212   m_isa->install_device(subdevice("ym3812"),    0x0388, 0x0389, 0, 0, FUNC(ym3812_r), FUNC(ym3812_w) );
213   m_isa->install_device(subdevice("ym3812"),    0x0228, 0x0229, 0, 0, FUNC(ym3812_r), FUNC(ym3812_w) );
207   m_isa->install_device(0x0388, 0x0389, 0, 0, read8_delegate(FUNC(ym3812_device::read), ym3812), write8_delegate(FUNC(ym3812_device::write), ym3812));
208   m_isa->install_device(0x0228, 0x0229, 0, 0, read8_delegate(FUNC(ym3812_device::read), ym3812), write8_delegate(FUNC(ym3812_device::write), ym3812));
214209   m_timer = timer_alloc();
215210   m_timer->adjust(attotime::from_hz(2000000), 0, attotime::from_hz(2000000));
216211   m_isa->set_dma_channel(1, this, FALSE);
trunk/src/mess/machine/isa_sblaster.c
r22803r22804
6161
6262static const int protection_magic[4] = { 0x96, 0xa5, 0x69, 0x5a };
6363
64static const ym3812_interface pc_ym3812_interface =
65{
66   DEVCB_NULL
67};
68
6964static SLOT_INTERFACE_START(midiin_slot)
7065   SLOT_INTERFACE("midiin", MIDIIN_PORT)
7166SLOT_INTERFACE_END
r22803r22804
8782static MACHINE_CONFIG_FRAGMENT( sblaster1_0_config )
8883   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
8984   MCFG_SOUND_ADD("ym3812", YM3812, ym3812_StdClock)
90   MCFG_SOUND_CONFIG(pc_ym3812_interface)
9185   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 3.00)
9286   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 3.00)
9387   MCFG_SAA1099_ADD("saa1099.1", 4772720)
r22803r22804
110104static MACHINE_CONFIG_FRAGMENT( sblaster1_5_config )
111105   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
112106   MCFG_SOUND_ADD("ym3812", YM3812, ym3812_StdClock)
113   MCFG_SOUND_CONFIG(pc_ym3812_interface)
114107   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.00)
115108   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00)
116109   /* no CM/S support (empty sockets) */
r22803r22804
144137
145138static READ8_DEVICE_HANDLER( ym3812_16_r )
146139{
140   ym3812_device *ym3812 = (ym3812_device *) device;
141
147142   UINT8 retVal = 0xff;
148143   switch(offset)
149144   {
150      case 0 : retVal = ym3812_status_port_r( device, space, offset ); break;
145      case 0 : retVal = ym3812->status_port_r( space, offset ); break;
151146   }
152147   return retVal;
153148}
154149
155150static WRITE8_DEVICE_HANDLER( ym3812_16_w )
156151{
152   ym3812_device *ym3812 = (ym3812_device *) device;
153
157154   switch(offset)
158155   {
159      case 0 : ym3812_control_port_w( device, space, offset, data ); break;
160      case 1 : ym3812_write_port_w( device, space, offset, data ); break;
156      case 0 : ym3812->control_port_w( space, offset, data ); break;
157      case 1 : ym3812->write_port_w( space, offset, data ); break;
161158   }
162159}
163160
trunk/src/mess/machine/isa_adlib.c
r22803r22804
1111
1212#define ym3812_StdClock 3579545
1313
14static const ym3812_interface pc_ym3812_interface =
15{
16   DEVCB_NULL
17};
18
1914static MACHINE_CONFIG_FRAGMENT( adlib_config )
2015   MCFG_SPEAKER_STANDARD_MONO("mono")
2116   MCFG_SOUND_ADD("ym3812", YM3812, ym3812_StdClock)
22   MCFG_SOUND_CONFIG(pc_ym3812_interface)
2317   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 3.00)
2418MACHINE_CONFIG_END
2519
2620static READ8_DEVICE_HANDLER( ym3812_16_r )
2721{
22   ym3812_device *ym3812 = (ym3812_device *) device;
23
2824   UINT8 retVal = 0xff;
2925   switch(offset)
3026   {
31      case 0 : retVal = ym3812_status_port_r( device, space, offset ); break;
27      case 0 : retVal = ym3812->status_port_r( space, offset ); break;
3228   }
3329   return retVal;
3430}
3531
3632static WRITE8_DEVICE_HANDLER( ym3812_16_w )
3733{
34   ym3812_device *ym3812 = (ym3812_device *) device;
35
3836   switch(offset)
3937   {
40      case 0 : ym3812_control_port_w( device, space, offset, data ); break;
41      case 1 : ym3812_write_port_w( device, space, offset, data ); break;
38      case 0 : ym3812->control_port_w( space, offset, data ); break;
39      case 1 : ym3812->write_port_w( space, offset, data ); break;
4240   }
4341}
4442
trunk/src/mame/drivers/niyanpai.c
r22803r22804
505505   AM_RANGE(0x56, 0x56) AM_READWRITE(tmpz84c011_0_dir_pc_r, tmpz84c011_0_dir_pc_w)
506506   AM_RANGE(0x34, 0x34) AM_READWRITE(tmpz84c011_0_dir_pd_r, tmpz84c011_0_dir_pd_w)
507507   AM_RANGE(0x44, 0x44) AM_READWRITE(tmpz84c011_0_dir_pe_r, tmpz84c011_0_dir_pe_w)
508   AM_RANGE(0x80, 0x81) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
508   AM_RANGE(0x80, 0x81) AM_DEVWRITE("ymsnd", ym3812_device, write)
509509ADDRESS_MAP_END
510510
511511
trunk/src/mame/drivers/tecmo.c
r22803r22804
229229static ADDRESS_MAP_START( rygar_sound_map, AS_PROGRAM, 8, tecmo_state )
230230   AM_RANGE(0x0000, 0x3fff) AM_ROM
231231   AM_RANGE(0x4000, 0x47ff) AM_RAM
232   AM_RANGE(0x8000, 0x8001) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
232   AM_RANGE(0x8000, 0x8001) AM_DEVWRITE("ymsnd", ym3812_device, write)
233233   AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_byte_r) AM_WRITE(tecmo_adpcm_start_w)
234234   AM_RANGE(0xd000, 0xd000) AM_WRITE(tecmo_adpcm_end_w)
235235   AM_RANGE(0xe000, 0xe000) AM_WRITE(tecmo_adpcm_vol_w)
r22803r22804
241241                                    /* writes code to this area */
242242   AM_RANGE(0x0000, 0x7fff) AM_ROM
243243   AM_RANGE(0x8000, 0x87ff) AM_RAM
244   AM_RANGE(0xa000, 0xa001) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
244   AM_RANGE(0xa000, 0xa001) AM_DEVWRITE("ymsnd", ym3812_device, write)
245245   AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_byte_r) AM_WRITE(tecmo_adpcm_start_w)
246246   AM_RANGE(0xc400, 0xc400) AM_WRITE(tecmo_adpcm_end_w)
247247   AM_RANGE(0xc800, 0xc800) AM_WRITE(tecmo_adpcm_vol_w)
r22803r22804
606606   m_soundcpu->set_input_line(0, state);
607607}
608608
609static const ym3812_interface ym3812_config =
610{
611   DEVCB_DRIVER_LINE_MEMBER(tecmo_state,irqhandler)
612};
613
614609static const msm5205_interface msm5205_config =
615610{
616611   DEVCB_DRIVER_LINE_MEMBER(tecmo_state,tecmo_adpcm_int),    /* interrupt function */
r22803r22804
654649   MCFG_SPEAKER_STANDARD_MONO("mono")
655650
656651   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_4MHz) /* verified on pcb */
657   MCFG_SOUND_CONFIG(ym3812_config)
652   MCFG_YM3812_IRQ_HANDLER(WRITELINE(tecmo_state, irqhandler))
658653   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
659654
660655   MCFG_SOUND_ADD("msm", MSM5205, XTAL_400kHz) /* verified on pcb, even if schematics shows a 384khz resonator */
r22803r22804
713708   MCFG_SPEAKER_STANDARD_MONO("mono")
714709
715710   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_4MHz) /* verified on pcb */
716   MCFG_SOUND_CONFIG(ym3812_config)
711   MCFG_YM3812_IRQ_HANDLER(WRITELINE(tecmo_state, irqhandler))
717712   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
718713
719714   /* no MSM on this PCB */
trunk/src/mame/drivers/seta.c
r22803r22804
29042904   AM_RANGE(0x620000, 0x620003) AM_WRITENOP    // protection
29052905   AM_RANGE(0x630000, 0x630003) AM_READ(seta_dsw_r)
29062906   AM_RANGE(0x640400, 0x640fff) AM_WRITEONLY AM_SHARE("paletteram")    // Palette
2907   AM_RANGE(0x650000, 0x650003) AM_DEVWRITE8_LEGACY("ymsnd", ym3812_w, 0x00ff)
2907   AM_RANGE(0x650000, 0x650003) AM_DEVWRITE8("ymsnd", ym3812_device, write, 0x00ff)
29082908   AM_RANGE(0x658000, 0x658001) AM_DEVWRITE8("oki", okim6295_device, write, 0x00ff)
29092909   AM_RANGE(0x670000, 0x670001) AM_READNOP     // watchdog?
29102910   AM_RANGE(0x800000, 0x803fff) AM_WRITE(seta_vram_2_w) AM_SHARE("vram_2") // VRAM 2
r22803r22804
30873087   AM_RANGE(0x1001, 0x1001) AM_READ_PORT("P2")                 // P2
30883088   AM_RANGE(0x1002, 0x1002) AM_READ_PORT("COINS")              // Coins
30893089   AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE("ym1", ym2203_device, read, write)
3090   AM_RANGE(0x3000, 0x3001) AM_DEVWRITE_LEGACY("ym2", ym3812_w)
3090   AM_RANGE(0x3000, 0x3001) AM_DEVWRITE("ym2", ym3812_device, write)
30913091   AM_RANGE(0x5000, 0x57ff) AM_RAM AM_SHARE("sharedram")       // Shared RAM
30923092   AM_RANGE(0x6000, 0x7fff) AM_ROM                             // ROM
30933093   AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")                        // Banked ROM
trunk/src/mame/drivers/nemesis.c
r22803r22804
561561   AM_RANGE(0x988a, 0x988e) AM_DEVWRITE("k051649", k051649_device, k051649_volume_w)
562562   AM_RANGE(0x988f, 0x988f) AM_DEVWRITE("k051649", k051649_device, k051649_keyonoff_w)
563563   AM_RANGE(0x98e0, 0x98ff) AM_DEVREADWRITE("k051649", k051649_device, k051649_test_r, k051649_test_w)
564   AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
564   AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
565565   AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE_LEGACY("k007232", k007232_r, k007232_w)
566566   AM_RANGE(0xc000, 0xc000) AM_WRITE(city_sound_bank_w) /* 7232 bankswitch */
567567   AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_byte_r)
r22803r22804
14861486// driver_state->audiocpu->set_input_line(0, HOLD_LINE);
14871487}
14881488
1489static const ym3812_interface ym3812_config =
1490{
1491   DEVCB_DRIVER_LINE_MEMBER(nemesis_state,sound_irq)
1492};
1493
14941489WRITE8_MEMBER(nemesis_state::volume_callback)
14951490{
14961491   k007232_set_volume(m_k007232, 0, (data >> 4) * 0x11, 0);
r22803r22804
18281823   MCFG_SOUND_ROUTE(1, "rspeaker", 0.30)
18291824
18301825   MCFG_SOUND_ADD("ymsnd", YM3812, 3579545)
1831   MCFG_SOUND_CONFIG(ym3812_config)
1826   MCFG_YM3812_IRQ_HANDLER(WRITELINE(nemesis_state, sound_irq))
18321827   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
18331828   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
18341829
r22803r22804
18741869   MCFG_SOUND_ROUTE(1, "rspeaker", 0.30)
18751870
18761871   MCFG_SOUND_ADD("ymsnd", YM3812, 3579545)
1877   MCFG_SOUND_CONFIG(ym3812_config)
1872   MCFG_YM3812_IRQ_HANDLER(WRITELINE(nemesis_state, sound_irq))
18781873   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
18791874   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
18801875
trunk/src/mame/drivers/toki.c
r22803r22804
132132   AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")
133133   AM_RANGE(0xe000, 0xe000) AM_WRITE(toki_adpcm_control_w) /* MSM5205 + ROM bank */
134134   AM_RANGE(0xe400, 0xe400) AM_WRITE(toki_adpcm_data_w)
135   AM_RANGE(0xec00, 0xec01) AM_MIRROR(0x0008) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
135   AM_RANGE(0xec00, 0xec01) AM_MIRROR(0x0008) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
136136   AM_RANGE(0xf000, 0xf7ff) AM_RAM
137137   AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_byte_r)
138138ADDRESS_MAP_END
trunk/src/mame/drivers/prehisle.c
r22803r22804
6060
6161static ADDRESS_MAP_START( prehisle_sound_io_map, AS_IO, 8, prehisle_state )
6262   ADDRESS_MAP_GLOBAL_MASK(0xff)
63   AM_RANGE(0x00, 0x00) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_status_port_r, ym3812_control_port_w)
64   AM_RANGE(0x20, 0x20) AM_DEVWRITE_LEGACY("ymsnd", ym3812_write_port_w)
63   AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("ymsnd", ym3812_device, status_port_r, control_port_w)
64   AM_RANGE(0x20, 0x20) AM_DEVWRITE("ymsnd", ym3812_device, write_port_w)
6565   AM_RANGE(0x40, 0x40) AM_WRITE(D7759_write_port_0_w)
6666   AM_RANGE(0x80, 0x80) AM_WRITE(D7759_upd_reset_w)
6767ADDRESS_MAP_END
r22803r22804
196196   m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
197197}
198198
199static const ym3812_interface ym3812_config =
200{
201   DEVCB_DRIVER_LINE_MEMBER(prehisle_state,irqhandler)
202};
203
204199/******************************************************************************/
205200
206201static MACHINE_CONFIG_START( prehisle, prehisle_state )
r22803r22804
230225   MCFG_SPEAKER_STANDARD_MONO("mono")
231226
232227   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_4MHz)  /* verified on pcb */
233   MCFG_SOUND_CONFIG(ym3812_config)
228   MCFG_YM3812_IRQ_HANDLER(WRITELINE(prehisle_state, irqhandler))
234229   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
235230
236231   MCFG_SOUND_ADD("upd", UPD7759, UPD7759_STANDARD_CLOCK)
trunk/src/mame/drivers/actfancr.c
r22803r22804
116116static ADDRESS_MAP_START( dec0_s_map, AS_PROGRAM, 8, actfancr_state )
117117   AM_RANGE(0x0000, 0x07ff) AM_RAM
118118   AM_RANGE(0x0800, 0x0801) AM_DEVWRITE("ym1", ym2203_device, write)
119   AM_RANGE(0x1000, 0x1001) AM_DEVWRITE_LEGACY("ym2", ym3812_w)
119   AM_RANGE(0x1000, 0x1001) AM_DEVWRITE("ym2", ym3812_device, write)
120120   AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_byte_r)
121121   AM_RANGE(0x3800, 0x3800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
122122   AM_RANGE(0x4000, 0xffff) AM_ROM
r22803r22804
280280   m_audiocpu->set_input_line(0, state); /* IRQ */
281281}
282282
283static const ym3812_interface ym3812_config =
284{
285   DEVCB_DRIVER_LINE_MEMBER(actfancr_state,sound_irq)
286};
287
288283/******************************************************************************/
289284
290285MACHINE_START_MEMBER(actfancr_state,actfancr)
r22803r22804
354349   MCFG_SOUND_ROUTE(3, "mono", 0.50)
355350
356351   MCFG_SOUND_ADD("ym2", YM3812, 3000000)
357   MCFG_SOUND_CONFIG(ym3812_config)
352   MCFG_YM3812_IRQ_HANDLER(WRITELINE(actfancr_state, sound_irq))
358353   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90)
359354
360355   MCFG_OKIM6295_ADD("oki", 1024188, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
r22803r22804
404399   MCFG_SOUND_ROUTE(3, "mono", 0.50)
405400
406401   MCFG_SOUND_ADD("ym2", YM3812, XTAL_12MHz/4) /* verified on pcb */
407   MCFG_SOUND_CONFIG(ym3812_config)
402   MCFG_YM3812_IRQ_HANDLER(WRITELINE(actfancr_state, sound_irq))
408403   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90)
409404
410405   MCFG_OKIM6295_ADD("oki", XTAL_1_056MHz, OKIM6295_PIN7_HIGH) /* verified on pcb */
trunk/src/mame/drivers/yunsun16.c
r22803r22804
174174
175175static ADDRESS_MAP_START( sound_port_map, AS_IO, 8, yunsun16_state )
176176   ADDRESS_MAP_GLOBAL_MASK(0xff)
177   AM_RANGE(0x10, 0x11) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w )
177   AM_RANGE(0x10, 0x11) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
178178   AM_RANGE(0x18, 0x18) AM_READ(soundlatch_byte_r )                        // From Main CPU
179179   AM_RANGE(0x1c, 0x1c) AM_DEVREADWRITE("oki", okim6295_device, read, write)       // M6295
180180ADDRESS_MAP_END
r22803r22804
575575   m_audiocpu->set_input_line(0, state);
576576}
577577
578static const ym3812_interface magicbub_ym3812_intf =
579{
580   DEVCB_DRIVER_LINE_MEMBER(yunsun16_state,soundirq)    /* IRQ Line */
581};
582
583578static MACHINE_CONFIG_START( magicbub, yunsun16_state )
584579
585580   /* basic machine hardware */
r22803r22804
608603   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
609604
610605   MCFG_SOUND_ADD("ymsnd", YM3812, 4000000)
611   MCFG_SOUND_CONFIG(magicbub_ym3812_intf)
606   MCFG_YM3812_IRQ_HANDLER(WRITELINE(yunsun16_state, soundirq))
612607   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.80)
613608   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
614609
trunk/src/mame/drivers/toaplan1.c
r22803r22804
579579   AM_RANGE(0x30, 0x30) AM_WRITE(rallybik_coin_w)  /* Coin counter/lockout */
580580   AM_RANGE(0x40, 0x40) AM_READ_PORT("DSWA")
581581   AM_RANGE(0x50, 0x50) AM_READ_PORT("DSWB")
582   AM_RANGE(0x60, 0x61) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
582   AM_RANGE(0x60, 0x61) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
583583ADDRESS_MAP_END
584584
585585static ADDRESS_MAP_START( truxton_sound_io_map, AS_IO, 8, toaplan1_state )
r22803r22804
590590   AM_RANGE(0x30, 0x30) AM_WRITE(toaplan1_coin_w)  /* Coin counter/lockout */
591591   AM_RANGE(0x40, 0x40) AM_READ_PORT("DSWA")
592592   AM_RANGE(0x50, 0x50) AM_READ_PORT("DSWB")
593   AM_RANGE(0x60, 0x61) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
593   AM_RANGE(0x60, 0x61) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
594594   AM_RANGE(0x70, 0x70) AM_READ_PORT("TJUMP")
595595ADDRESS_MAP_END
596596
r22803r22804
603603   AM_RANGE(0x40, 0x40) AM_READ_PORT("P1")
604604   AM_RANGE(0x50, 0x50) AM_READ_PORT("P2")
605605   AM_RANGE(0x60, 0x60) AM_READ_PORT("SYSTEM")
606   AM_RANGE(0x70, 0x71) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
606   AM_RANGE(0x70, 0x71) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
607607ADDRESS_MAP_END
608608
609609static ADDRESS_MAP_START( zerowing_sound_io_map, AS_IO, 8, toaplan1_state )
r22803r22804
615615   AM_RANGE(0x80, 0x80) AM_READ_PORT("SYSTEM")
616616   AM_RANGE(0x88, 0x88) AM_READ_PORT("TJUMP")
617617   AM_RANGE(0xa0, 0xa0) AM_WRITE(toaplan1_coin_w)  /* Coin counter/lockout */
618   AM_RANGE(0xa8, 0xa9) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
618   AM_RANGE(0xa8, 0xa9) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
619619ADDRESS_MAP_END
620620
621621static ADDRESS_MAP_START( demonwld_sound_io_map, AS_IO, 8, toaplan1_state )
622622   ADDRESS_MAP_GLOBAL_MASK(0xff)
623   AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
623   AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
624624   AM_RANGE(0x20, 0x20) AM_READ_PORT("TJUMP")
625625   AM_RANGE(0x40, 0x40) AM_WRITE(toaplan1_coin_w)  /* Coin counter/lockout */
626626   AM_RANGE(0x60, 0x60) AM_READ_PORT("SYSTEM")
r22803r22804
632632
633633static ADDRESS_MAP_START( outzone_sound_io_map, AS_IO, 8, toaplan1_state )
634634   ADDRESS_MAP_GLOBAL_MASK(0xff)
635   AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
635   AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
636636   AM_RANGE(0x04, 0x04) AM_WRITE(toaplan1_coin_w)  /* Coin counter/lockout */
637637   AM_RANGE(0x08, 0x08) AM_READ_PORT("DSWA")
638638   AM_RANGE(0x0c, 0x0c) AM_READ_PORT("DSWB")
r22803r22804
15201520   m_audiocpu->set_input_line(0, state);
15211521}
15221522
1523static const ym3812_interface ym3812_config =
1524{
1525   DEVCB_DRIVER_LINE_MEMBER(toaplan1_state,irqhandler)
1526};
15271523
15281524
1529
15301525static MACHINE_CONFIG_START( rallybik, toaplan1_state )
15311526
15321527   /* basic machine hardware */
r22803r22804
15591554   MCFG_SPEAKER_STANDARD_MONO("mono")
15601555
15611556   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_28MHz/8)
1562   MCFG_SOUND_CONFIG(ym3812_config)
1557   MCFG_YM3812_IRQ_HANDLER(WRITELINE(toaplan1_state, irqhandler))
15631558   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
15641559MACHINE_CONFIG_END
15651560
r22803r22804
15961591   MCFG_SPEAKER_STANDARD_MONO("mono")
15971592
15981593   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_28MHz/8)
1599   MCFG_SOUND_CONFIG(ym3812_config)
1594   MCFG_YM3812_IRQ_HANDLER(WRITELINE(toaplan1_state, irqhandler))
16001595   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
16011596MACHINE_CONFIG_END
16021597
r22803r22804
16331628   MCFG_SPEAKER_STANDARD_MONO("mono")
16341629
16351630   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_28MHz/8)
1636   MCFG_SOUND_CONFIG(ym3812_config)
1631   MCFG_YM3812_IRQ_HANDLER(WRITELINE(toaplan1_state, irqhandler))
16371632   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
16381633MACHINE_CONFIG_END
16391634
r22803r22804
16701665   MCFG_SPEAKER_STANDARD_MONO("mono")
16711666
16721667   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_28MHz/8)
1673   MCFG_SOUND_CONFIG(ym3812_config)
1668   MCFG_YM3812_IRQ_HANDLER(WRITELINE(toaplan1_state, irqhandler))
16741669   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
16751670MACHINE_CONFIG_END
16761671
r22803r22804
17111706   MCFG_SPEAKER_STANDARD_MONO("mono")
17121707
17131708   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_28MHz/8)
1714   MCFG_SOUND_CONFIG(ym3812_config)
1709   MCFG_YM3812_IRQ_HANDLER(WRITELINE(toaplan1_state, irqhandler))
17151710   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
17161711MACHINE_CONFIG_END
17171712
r22803r22804
17461741   MCFG_SPEAKER_STANDARD_MONO("mono")
17471742
17481743   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_28MHz/8)
1749   MCFG_SOUND_CONFIG(ym3812_config)
1744   MCFG_YM3812_IRQ_HANDLER(WRITELINE(toaplan1_state, irqhandler))
17501745   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
17511746MACHINE_CONFIG_END
17521747
r22803r22804
17831778   MCFG_SPEAKER_STANDARD_MONO("mono")
17841779
17851780   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_28MHz/8)
1786   MCFG_SOUND_CONFIG(ym3812_config)
1781   MCFG_YM3812_IRQ_HANDLER(WRITELINE(toaplan1_state, irqhandler))
17871782   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
17881783MACHINE_CONFIG_END
17891784
r22803r22804
18181813   MCFG_SPEAKER_STANDARD_MONO("mono")
18191814
18201815   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_28MHz/8)   /* verified on pcb */
1821   MCFG_SOUND_CONFIG(ym3812_config)
1816   MCFG_YM3812_IRQ_HANDLER(WRITELINE(toaplan1_state, irqhandler))
18221817   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
18231818MACHINE_CONFIG_END
18241819
trunk/src/mame/drivers/esd16.c
r22803r22804
253253
254254static ADDRESS_MAP_START( multchmp_sound_io_map, AS_IO, 8, esd16_state )
255255   ADDRESS_MAP_GLOBAL_MASK(0xff)
256   AM_RANGE(0x00, 0x01) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)          // YM3812
256   AM_RANGE(0x00, 0x01) AM_DEVWRITE("ymsnd", ym3812_device, write)          // YM3812
257257   AM_RANGE(0x02, 0x02) AM_DEVREADWRITE("oki", okim6295_device, read, write)   // M6295
258258   AM_RANGE(0x03, 0x03) AM_READ(esd16_sound_command_r)             // From Main CPU
259259   AM_RANGE(0x04, 0x04) AM_WRITENOP                        // ? $00, $30
trunk/src/mame/drivers/oneshot.c
r22803r22804
125125   AM_RANGE(0x0000, 0x7fff) AM_ROM
126126   AM_RANGE(0x8000, 0x8000) AM_READWRITE(soundlatch_byte_r,soundlatch_byte_w)
127127   AM_RANGE(0x8001, 0x87ff) AM_RAM
128   AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r,ym3812_w)
128   AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
129129   AM_RANGE(0xe010, 0xe010) AM_DEVREADWRITE("oki", okim6295_device, read, write)
130130ADDRESS_MAP_END
131131
r22803r22804
331331   m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
332332}
333333
334static const ym3812_interface ym3812_config =
335{
336   DEVCB_DRIVER_LINE_MEMBER(oneshot_state,irqhandler)
337};
338
339334void oneshot_state::machine_start()
340335{
341336   save_item(NAME(m_gun_x_p1));
r22803r22804
384379   MCFG_SPEAKER_STANDARD_MONO("mono")
385380
386381   MCFG_SOUND_ADD("ymsnd", YM3812, 3500000)
387   MCFG_SOUND_CONFIG(ym3812_config)
382   MCFG_YM3812_IRQ_HANDLER(WRITELINE(oneshot_state, irqhandler))
388383   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
389384
390385   MCFG_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
trunk/src/mame/drivers/alpha68k.c
r22803r22804
774774static ADDRESS_MAP_START( alpha68k_I_s_map, AS_PROGRAM, 8, alpha68k_state )
775775   AM_RANGE(0x0000, 0x9fff) AM_ROM
776776   AM_RANGE(0xe000, 0xe000) AM_READWRITE(soundlatch_byte_r, soundlatch_clear_byte_w)
777   AM_RANGE(0xe800, 0xe800) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_status_port_r, ym3812_control_port_w)
778   AM_RANGE(0xec00, 0xec00) AM_DEVWRITE_LEGACY("ymsnd", ym3812_write_port_w)
777   AM_RANGE(0xe800, 0xe800) AM_DEVREADWRITE("ymsnd", ym3812_device, status_port_r, control_port_w)
778   AM_RANGE(0xec00, 0xec00) AM_DEVWRITE("ymsnd", ym3812_device, write_port_w)
779779   AM_RANGE(0xf000, 0xf7ff) AM_RAM
780780   AM_RANGE(0xfc00, 0xfc00) AM_RAM // unknown port
781781ADDRESS_MAP_END
r22803r22804
815815
816816static ADDRESS_MAP_START( tnextspc_sound_portmap, AS_IO, 8, alpha68k_state )
817817   ADDRESS_MAP_GLOBAL_MASK(0xff)
818   AM_RANGE(0x00, 0x00) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_status_port_r, ym3812_control_port_w)
819   AM_RANGE(0x20, 0x20) AM_DEVWRITE_LEGACY("ymsnd", ym3812_write_port_w)
818   AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("ymsnd", ym3812_device, status_port_r, control_port_w)
819   AM_RANGE(0x20, 0x20) AM_DEVWRITE("ymsnd", ym3812_device, write_port_w)
820820   AM_RANGE(0x3b, 0x3b) AM_READNOP // unknown read port
821821   AM_RANGE(0x3d, 0x3d) AM_READNOP // unknown read port
822822   AM_RANGE(0x7b, 0x7b) AM_READNOP // unknown read port
r22803r22804
18481848   m_audiocpu->set_input_line(0, (state) ? HOLD_LINE : CLEAR_LINE);
18491849}
18501850
1851static const ym3812_interface ym3812_config =
1852{
1853   DEVCB_DRIVER_LINE_MEMBER(alpha68k_state,ym3812_irq)
1854};
18551851
1856
18571852/******************************************************************************/
18581853
18591854
r22803r22804
21012096   MCFG_SPEAKER_STANDARD_MONO("mono")
21022097
21032098   MCFG_SOUND_ADD("ymsnd", YM3812, 4000000)
2104   MCFG_SOUND_CONFIG(ym3812_config)
2099   MCFG_YM3812_IRQ_HANDLER(WRITELINE(alpha68k_state, ym3812_irq))
21052100   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
21062101MACHINE_CONFIG_END
21072102
r22803r22804
23182313   MCFG_SPEAKER_STANDARD_MONO("mono")
23192314
23202315   MCFG_SOUND_ADD("ymsnd", YM3812, 4000000)
2321   MCFG_SOUND_CONFIG(ym3812_config)
2316   MCFG_YM3812_IRQ_HANDLER(WRITELINE(alpha68k_state, ym3812_irq))
23222317   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
23232318MACHINE_CONFIG_END
23242319
trunk/src/mame/drivers/armedf.c
r22803r22804
743743
744744static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, armedf_state )
745745   ADDRESS_MAP_GLOBAL_MASK(0xff)
746   AM_RANGE(0x0, 0x1) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
746   AM_RANGE(0x0, 0x1) AM_DEVWRITE("ymsnd", ym3812_device, write)
747747   AM_RANGE(0x2, 0x2) AM_DEVWRITE("dac1", dac_device, write_signed8)
748748   AM_RANGE(0x3, 0x3) AM_DEVWRITE("dac2", dac_device, write_signed8)
749749   AM_RANGE(0x4, 0x4) AM_READ(soundlatch_clear_r)
trunk/src/mame/drivers/pcktgal.c
r22803r22804
9090static ADDRESS_MAP_START( pcktgal_sound_map, AS_PROGRAM, 8, pcktgal_state )
9191   AM_RANGE(0x0000, 0x07ff) AM_RAM
9292   AM_RANGE(0x0800, 0x0801) AM_DEVWRITE("ym1", ym2203_device, write)
93   AM_RANGE(0x1000, 0x1001) AM_DEVWRITE_LEGACY("ym2", ym3812_w)
93   AM_RANGE(0x1000, 0x1001) AM_DEVWRITE("ym2", ym3812_device, write)
9494   AM_RANGE(0x1800, 0x1800) AM_WRITE(pcktgal_adpcm_data_w) /* ADPCM data for the MSM5205 chip */
9595   AM_RANGE(0x2000, 0x2000) AM_WRITE(pcktgal_sound_bank_w)
9696   AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_byte_r)
trunk/src/mame/drivers/spdodgeb.c
r22803r22804
269269static ADDRESS_MAP_START( spdodgeb_sound_map, AS_PROGRAM, 8, spdodgeb_state )
270270   AM_RANGE(0x0000, 0x0fff) AM_RAM
271271   AM_RANGE(0x1000, 0x1000) AM_READ(soundlatch_byte_r)
272   AM_RANGE(0x2800, 0x2801) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
272   AM_RANGE(0x2800, 0x2801) AM_DEVWRITE("ymsnd", ym3812_device, write)
273273   AM_RANGE(0x3800, 0x3807) AM_WRITE(spd_adpcm_w)
274274   AM_RANGE(0x8000, 0xffff) AM_ROM
275275ADDRESS_MAP_END
r22803r22804
387387   m_audiocpu->set_input_line(M6809_FIRQ_LINE, state ? ASSERT_LINE : CLEAR_LINE);
388388}
389389
390static const ym3812_interface ym3812_config =
391{
392   DEVCB_DRIVER_LINE_MEMBER(spdodgeb_state,irqhandler)
393};
394
395390static const msm5205_interface msm5205_config_1 =
396391{
397392   DEVCB_DRIVER_LINE_MEMBER(spdodgeb_state,spd_adpcm_int_1),  /* interrupt function */
r22803r22804
442437   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
443438
444439   MCFG_SOUND_ADD("ymsnd", YM3812, 3000000)
445   MCFG_SOUND_CONFIG(ym3812_config)
440   MCFG_YM3812_IRQ_HANDLER(WRITELINE(spdodgeb_state, irqhandler))
446441   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
447442   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
448443
trunk/src/mame/drivers/unico.c
r22803r22804
6767   AM_RANGE(0x800030, 0x800031) AM_WRITENOP                                                // ? 0
6868   AM_RANGE(0x80010c, 0x800121) AM_WRITEONLY AM_SHARE("scroll")                // Scroll
6969   AM_RANGE(0x800188, 0x800189) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff)  // Sound
70   AM_RANGE(0x80018a, 0x80018b) AM_DEVWRITE8_LEGACY("ymsnd", ym3812_write_port_w, 0xff00           )   //
71   AM_RANGE(0x80018c, 0x80018d) AM_DEVREADWRITE8_LEGACY("ymsnd", ym3812_status_port_r, ym3812_control_port_w, 0xff00       )   //
70   AM_RANGE(0x80018a, 0x80018b) AM_DEVWRITE8("ymsnd", ym3812_device, write_port_w, 0xff00)
71   AM_RANGE(0x80018c, 0x80018d) AM_DEVREADWRITE8("ymsnd", ym3812_device, status_port_r, control_port_w, 0xff00)
7272   AM_RANGE(0x80018e, 0x80018f) AM_WRITE(burglarx_sound_bank_w)                    //
7373   AM_RANGE(0x8001e0, 0x8001e1) AM_WRITENOP                                                // IRQ Ack
7474   AM_RANGE(0x904000, 0x90ffff) AM_RAM_WRITE(unico_vram_w) AM_SHARE("vram")        // Layers 1, 2, 0
r22803r22804
155155   AM_RANGE(0x800178, 0x800179) AM_READ(unico_guny_1_msb_r         )   //
156156   AM_RANGE(0x80017c, 0x80017d) AM_READ(unico_gunx_1_msb_r         )   //
157157   AM_RANGE(0x800188, 0x800189) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff               )   // Sound
158   AM_RANGE(0x80018a, 0x80018b) AM_DEVWRITE8_LEGACY("ymsnd", ym3812_write_port_w, 0xff00           )   //
159   AM_RANGE(0x80018c, 0x80018d) AM_DEVREADWRITE8_LEGACY("ymsnd", ym3812_status_port_r, ym3812_control_port_w, 0xff00       )   //
158   AM_RANGE(0x80018a, 0x80018b) AM_DEVWRITE8("ymsnd", ym3812_device, write_port_w, 0xff00)
159   AM_RANGE(0x80018c, 0x80018d) AM_DEVREADWRITE8("ymsnd", ym3812_device, status_port_r, control_port_w, 0xff00)
160160   AM_RANGE(0x80018e, 0x80018f) AM_WRITE(zeropnt_sound_bank_w              )   //
161161   AM_RANGE(0x8001e0, 0x8001e1) AM_WRITEONLY   // ? IRQ Ack
162162   AM_RANGE(0x904000, 0x90ffff) AM_RAM_WRITE(unico_vram_w) AM_SHARE("vram")    // Layers 1, 2, 0
trunk/src/mame/drivers/itech8.c
r22803r22804
946946static ADDRESS_MAP_START( sound3812_map, AS_PROGRAM, 8, itech8_state )
947947   AM_RANGE(0x0000, 0x0000) AM_WRITENOP
948948   AM_RANGE(0x1000, 0x1000) AM_READ(sound_data_r)
949   AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
949   AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
950950   AM_RANGE(0x3000, 0x37ff) AM_RAM
951951   AM_RANGE(0x4000, 0x4000) AM_DEVREADWRITE("oki", okim6295_device, read, write)
952952   AM_RANGE(0x5000, 0x5003) AM_DEVREADWRITE("pia", pia6821_device, read, write)
r22803r22804
958958static ADDRESS_MAP_START( sound3812_external_map, AS_PROGRAM, 8, itech8_state )
959959   AM_RANGE(0x0000, 0x0000) AM_WRITENOP
960960   AM_RANGE(0x1000, 0x1000) AM_READ(sound_data_r)
961   AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
961   AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
962962   AM_RANGE(0x3000, 0x37ff) AM_RAM
963963   AM_RANGE(0x4000, 0x4000) AM_DEVREADWRITE("oki", okim6295_device, read, write)
964964   AM_RANGE(0x5000, 0x500f) AM_DEVREADWRITE("via6522_0", via6522_device, read, write)
r22803r22804
16461646};
16471647
16481648
1649static const ym3812_interface ym3812_config =
1650{
1651   DEVCB_DRIVER_LINE_MEMBER(itech8_state,generate_sound_irq)
1652};
16531649
1654
1655
16561650/*************************************
16571651 *
16581652 *  Machine driver
r22803r22804
17411735
17421736   /* sound hardware */
17431737   MCFG_SOUND_ADD("ymsnd", YM3812, CLOCK_8MHz/2)
1744   MCFG_SOUND_CONFIG(ym3812_config)
1738   MCFG_YM3812_IRQ_HANDLER(WRITELINE(itech8_state, generate_sound_irq))
17451739   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
17461740
17471741   MCFG_OKIM6295_ADD("oki", CLOCK_8MHz/8, OKIM6295_PIN7_HIGH) // was /128, not /132, so unsure so pin 7 not verified
r22803r22804
17571751
17581752   /* sound hardware */
17591753   MCFG_SOUND_ADD("ymsnd", YM3812, CLOCK_8MHz/2)
1760   MCFG_SOUND_CONFIG(ym3812_config)
1754   MCFG_YM3812_IRQ_HANDLER(WRITELINE(itech8_state, generate_sound_irq))
17611755   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
17621756
17631757   MCFG_OKIM6295_ADD("oki", CLOCK_8MHz/8, OKIM6295_PIN7_HIGH) // was /128, not /132, so unsure so pin 7 not verified
trunk/src/mame/drivers/rollerg.c
r22803r22804
101101   AM_RANGE(0x0000, 0x7fff) AM_ROM
102102   AM_RANGE(0x8000, 0x87ff) AM_RAM
103103   AM_RANGE(0xa000, 0xa02f) AM_DEVREADWRITE("k053260", k053260_device, k053260_r, k053260_w)
104   AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r,ym3812_w)
104   AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
105105   AM_RANGE(0xfc00, 0xfc00) AM_WRITE(sound_arm_nmi_w)
106106ADDRESS_MAP_END
107107
trunk/src/mame/drivers/spy.c
r22803r22804
393393   AM_RANGE(0x9000, 0x9000) AM_WRITE(sound_bank_w)
394394   AM_RANGE(0xa000, 0xa00d) AM_DEVREADWRITE_LEGACY("k007232_1", k007232_r, k007232_w)
395395   AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE_LEGACY("k007232_2", k007232_r, k007232_w)
396   AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r,ym3812_w)
396   AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
397397   AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_byte_r)
398398ADDRESS_MAP_END
399399
r22803r22804
474474   m_audiocpu->set_input_line(INPUT_LINE_NMI, state);
475475}
476476
477static const ym3812_interface ym3812_config =
478{
479   DEVCB_DRIVER_LINE_MEMBER(spy_state,irqhandler)
480};
481477
482
483478static const k052109_interface spy_k052109_intf =
484479{
485480   "gfx1", 0,
r22803r22804
552547   MCFG_SPEAKER_STANDARD_MONO("mono")
553548
554549   MCFG_SOUND_ADD("ymsnd", YM3812, 3579545)
555   MCFG_SOUND_CONFIG(ym3812_config)
550   MCFG_YM3812_IRQ_HANDLER(WRITELINE(spy_state, irqhandler))
556551   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
557552
558553   MCFG_SOUND_ADD("k007232_1", K007232, 3579545)
trunk/src/mame/drivers/snk68.c
r22803r22804
174174
175175static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, snk68_state )
176176   ADDRESS_MAP_GLOBAL_MASK(0xff)
177   AM_RANGE(0x00, 0x00) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_status_port_r, ym3812_control_port_w)
178   AM_RANGE(0x20, 0x20) AM_DEVWRITE_LEGACY("ymsnd", ym3812_write_port_w)
177   AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("ymsnd", ym3812_device, status_port_r, control_port_w)
178   AM_RANGE(0x20, 0x20) AM_DEVWRITE("ymsnd", ym3812_device, write_port_w)
179179   AM_RANGE(0x40, 0x40) AM_WRITE(D7759_write_port_0_w)
180180   AM_RANGE(0x80, 0x80) AM_WRITE(D7759_upd_reset_w)
181181ADDRESS_MAP_END
r22803r22804
577577   m_soundcpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
578578}
579579
580static const ym3812_interface ym3812_config =
581{
582   DEVCB_DRIVER_LINE_MEMBER(snk68_state,irqhandler)
583};
584
585580/******************************************************************************/
586581
587582static MACHINE_CONFIG_START( pow, snk68_state )
r22803r22804
611606   MCFG_SPEAKER_STANDARD_MONO("mono")
612607
613608   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_8MHz/2) /* verified on pcb  */
614   MCFG_SOUND_CONFIG(ym3812_config)
609   MCFG_YM3812_IRQ_HANDLER(WRITELINE(snk68_state, irqhandler))
615610   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
616611
617612   MCFG_SOUND_ADD("upd", UPD7759, UPD7759_STANDARD_CLOCK)
trunk/src/mame/drivers/hcastle.c
r22803r22804
7878   AM_RANGE(0x988a, 0x988e) AM_DEVWRITE("k051649", k051649_device, k051649_volume_w)
7979   AM_RANGE(0x988f, 0x988f) AM_DEVWRITE("k051649", k051649_device, k051649_keyonoff_w)
8080   AM_RANGE(0x98e0, 0x98ff) AM_DEVREADWRITE("k051649", k051649_device, k051649_test_r, k051649_test_w)
81   AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
81   AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
8282   AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE_LEGACY("k007232", k007232_r, k007232_w)
8383   AM_RANGE(0xc000, 0xc000) AM_WRITE(sound_bank_w) /* 7232 bankswitch */
8484   AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_byte_r)
r22803r22804
171171   DEVCB_DRIVER_MEMBER(hcastle_state,volume_callback) /* external port callback */
172172};
173173
174static const ym3812_interface ym3812_config =
175{
176   DEVCB_DRIVER_LINE_MEMBER(hcastle_state,irqhandler)
177};
178
179174void hcastle_state::machine_start()
180175{
181176   UINT8 *ROM = memregion("maincpu")->base();
r22803r22804
236231   MCFG_SOUND_ROUTE(1, "mono", 0.50)
237232
238233   MCFG_SOUND_ADD("ymsnd", YM3812, 3579545)
239   MCFG_SOUND_CONFIG(ym3812_config)
234   MCFG_YM3812_IRQ_HANDLER(WRITELINE(hcastle_state, irqhandler))
240235   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
241236
242237   MCFG_K051649_ADD("k051649", 3579545/2)
trunk/src/mame/drivers/nbmj8900.c
r22803r22804
118118   AM_RANGE(0x60, 0x60) AM_WRITE(nbmj8900_romsel_w)
119119   AM_RANGE(0x70, 0x70) AM_WRITE(nbmj8900_scrolly_w)
120120
121   AM_RANGE(0x80, 0x81) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r,ym3812_w)
121   AM_RANGE(0x80, 0x81) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
122122
123123   AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
124124
trunk/src/mame/drivers/umipoker.c
r22803r22804
338338static ADDRESS_MAP_START( umipoker_audio_io_map, AS_IO, 8, umipoker_state )
339339   ADDRESS_MAP_GLOBAL_MASK(0xff)
340340   AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("oki", okim6295_device, read, write)
341   AM_RANGE(0x10, 0x11) AM_DEVREADWRITE_LEGACY("ym", ym3812_r, ym3812_w)
341   AM_RANGE(0x10, 0x11) AM_DEVREADWRITE("ym", ym3812_device, read, write)
342342ADDRESS_MAP_END
343343
344344
trunk/src/mame/drivers/tbowl.c
r22803r22804
193193static ADDRESS_MAP_START( 6206A_map, AS_PROGRAM, 8, tbowl_state )
194194   AM_RANGE(0x0000, 0x7fff) AM_ROM
195195   AM_RANGE(0xc000, 0xc7ff) AM_RAM
196   AM_RANGE(0xd000, 0xd001) AM_DEVWRITE_LEGACY("ym1", ym3812_w)
197   AM_RANGE(0xd800, 0xd801) AM_DEVWRITE_LEGACY("ym2", ym3812_w)
196   AM_RANGE(0xd000, 0xd001) AM_DEVWRITE("ym1", ym3812_device, write)
197   AM_RANGE(0xd800, 0xd801) AM_DEVWRITE("ym2", ym3812_device, write)
198198   AM_RANGE(0xe000, 0xe001) AM_WRITE(tbowl_adpcm_end_w)
199199   AM_RANGE(0xe002, 0xe003) AM_WRITE(tbowl_adpcm_start_w)
200200   AM_RANGE(0xe004, 0xe005) AM_WRITE(tbowl_adpcm_vol_w)
r22803r22804
432432   m_audiocpu->set_input_line(0, state);
433433}
434434
435static const ym3812_interface ym3812_config =
436{
437   DEVCB_DRIVER_LINE_MEMBER(tbowl_state,irqhandler)
438};
439
440435static const msm5205_interface msm5205_config_1 =
441436{
442437   DEVCB_DRIVER_LINE_MEMBER(tbowl_state,tbowl_adpcm_int_1),    /* interrupt function */
r22803r22804
511506   MCFG_SPEAKER_STANDARD_MONO("mono")
512507
513508   MCFG_SOUND_ADD("ym1", YM3812, 4000000)
514   MCFG_SOUND_CONFIG(ym3812_config)
509   MCFG_YM3812_IRQ_HANDLER(WRITELINE(tbowl_state, irqhandler))
515510   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
516511
517512   MCFG_SOUND_ADD("ym2", YM3812, 4000000)
trunk/src/mame/drivers/crospang.c
r22803r22804
9898
9999static ADDRESS_MAP_START( crospang_sound_io_map, AS_IO, 8, crospang_state )
100100   ADDRESS_MAP_GLOBAL_MASK(0xff)
101   AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
101   AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
102102   AM_RANGE(0x02, 0x02) AM_DEVREADWRITE("oki", okim6295_device, read, write)
103103   AM_RANGE(0x06, 0x06) AM_READ(soundlatch_byte_r)
104104ADDRESS_MAP_END
r22803r22804
320320   m_audiocpu->set_input_line(0, state);
321321}
322322
323static const ym3812_interface ym3812_config =
324{
325   DEVCB_DRIVER_LINE_MEMBER(crospang_state,irqhandler)  /* IRQ Line */
326};
327323
328
329324void crospang_state::machine_start()
330325{
331326   save_item(NAME(m_bestri_tilebank));
r22803r22804
373368   MCFG_SPEAKER_STANDARD_MONO("mono")
374369
375370   MCFG_SOUND_ADD("ymsnd", YM3812, 14318180/4)
376   MCFG_SOUND_CONFIG(ym3812_config)
371   MCFG_YM3812_IRQ_HANDLER(WRITELINE(crospang_state, irqhandler))
377372   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
378373
379374   MCFG_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
trunk/src/mame/drivers/snowbros.c
r22803r22804
215215
216216static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, snowbros_state )
217217   ADDRESS_MAP_GLOBAL_MASK(0xff)
218   AM_RANGE(0x02, 0x03) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
218   AM_RANGE(0x02, 0x03) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
219219   AM_RANGE(0x04, 0x04) AM_READWRITE(soundlatch_byte_r, soundlatch_byte_w) /* goes back to the main CPU, checked during boot */
220220ADDRESS_MAP_END
221221
r22803r22804
316316
317317static ADDRESS_MAP_START( honeydol_sound_io_map, AS_IO, 8, snowbros_state )
318318   ADDRESS_MAP_GLOBAL_MASK(0xff)
319   AM_RANGE(0x02, 0x03) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)                                // not connected?
319   AM_RANGE(0x02, 0x03) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)                                // not connected?
320320   AM_RANGE(0x04, 0x04) AM_READWRITE(soundlatch_byte_r, soundlatch_byte_w) /* goes back to the main CPU, checked during boot */
321321ADDRESS_MAP_END
322322
r22803r22804
14921492   m_soundcpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
14931493}
14941494
1495/* SnowBros Sound */
1496
1497static const ym3812_interface ym3812_config =
1498{
1499   DEVCB_DRIVER_LINE_MEMBER(snowbros_state,irqhandler)
1500};
1501
1502
15031495MACHINE_RESET_MEMBER(snowbros_state,semiprot)
15041496{
15051497   UINT16 *PROTDATA = (UINT16*)memregion("user1")->base();
r22803r22804
15541546   MCFG_SPEAKER_STANDARD_MONO("mono")
15551547
15561548   MCFG_SOUND_ADD("ymsnd", YM3812, 3000000)
1557   MCFG_SOUND_CONFIG(ym3812_config)
1549   MCFG_YM3812_IRQ_HANDLER(WRITELINE(snowbros_state, irqhandler))
15581550   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
15591551MACHINE_CONFIG_END
15601552
r22803r22804
16631655   /* sound hardware */
16641656
16651657   MCFG_SOUND_ADD("ymsnd", YM3812, 3000000)
1666   MCFG_SOUND_CONFIG(ym3812_config)
1658   MCFG_YM3812_IRQ_HANDLER(WRITELINE(snowbros_state, irqhandler))
16671659   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
16681660
16691661
trunk/src/mame/drivers/nbmj9195.c
r22803r22804
11581158   AM_RANGE(0x56, 0x56) AM_READWRITE(tmpz84c011_1_dir_pc_r,tmpz84c011_1_dir_pc_w)
11591159   AM_RANGE(0x34, 0x34) AM_READWRITE(tmpz84c011_1_dir_pd_r,tmpz84c011_1_dir_pd_w)
11601160   AM_RANGE(0x44, 0x44) AM_READWRITE(tmpz84c011_1_dir_pe_r,tmpz84c011_1_dir_pe_w)
1161   AM_RANGE(0x80, 0x81) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
1161   AM_RANGE(0x80, 0x81) AM_DEVWRITE("ymsnd", ym3812_device, write)
11621162ADDRESS_MAP_END
11631163
11641164
trunk/src/mame/drivers/csplayh5.c
r22803r22804
385385   AM_RANGE(0x56, 0x56) AM_READWRITE(tmpz84c011_0_dir_pc_r, tmpz84c011_0_dir_pc_w)
386386   AM_RANGE(0x34, 0x34) AM_READWRITE(tmpz84c011_0_dir_pd_r, tmpz84c011_0_dir_pd_w)
387387   AM_RANGE(0x44, 0x44) AM_READWRITE(tmpz84c011_0_dir_pe_r, tmpz84c011_0_dir_pe_w)
388   AM_RANGE(0x80, 0x81) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
388   AM_RANGE(0x80, 0x81) AM_DEVWRITE("ymsnd", ym3812_device, write)
389389ADDRESS_MAP_END
390390
391391
trunk/src/mame/drivers/discoboy.c
r22803r22804
353353   AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("sndbank")
354354   AM_RANGE(0xe000, 0xe000) AM_WRITE(yunsung8_sound_bankswitch_w)
355355   AM_RANGE(0xe400, 0xe400) AM_WRITE(yunsung8_adpcm_w)
356   AM_RANGE(0xec00, 0xec01) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
356   AM_RANGE(0xec00, 0xec01) AM_DEVWRITE("ymsnd", ym3812_device, write)
357357   AM_RANGE(0xf000, 0xf7ff) AM_RAM
358358   AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_byte_r)
359359ADDRESS_MAP_END
trunk/src/mame/drivers/dec0.c
r22803r22804
547547static ADDRESS_MAP_START( dec0_s_map, AS_PROGRAM, 8, dec0_state )
548548   AM_RANGE(0x0000, 0x05ff) AM_RAM
549549   AM_RANGE(0x0800, 0x0801) AM_DEVWRITE("ym1", ym2203_device, write)
550   AM_RANGE(0x1000, 0x1001) AM_DEVWRITE_LEGACY("ym2", ym3812_w)
550   AM_RANGE(0x1000, 0x1001) AM_DEVWRITE("ym2", ym3812_device, write)
551551   AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_byte_r)
552552   AM_RANGE(0x3800, 0x3800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
553553   AM_RANGE(0x8000, 0xffff) AM_ROM
r22803r22804
556556/* Physical memory map (21 bits) */
557557static ADDRESS_MAP_START( slyspy_s_map, AS_PROGRAM, 8, dec0_state )
558558   AM_RANGE(0x000000, 0x00ffff) AM_ROM
559   AM_RANGE(0x090000, 0x090001) AM_DEVWRITE_LEGACY("ym2", ym3812_w)
559   AM_RANGE(0x090000, 0x090001) AM_DEVWRITE("ym2", ym3812_device, write)
560560   AM_RANGE(0x0a0000, 0x0a0001) AM_READNOP /* Protection counter */
561561   AM_RANGE(0x0b0000, 0x0b0001) AM_DEVWRITE("ym1", ym2203_device, write)
562562   AM_RANGE(0x0e0000, 0x0e0001) AM_DEVREADWRITE("oki", okim6295_device, read, write)
r22803r22804
567567
568568static ADDRESS_MAP_START( midres_s_map, AS_PROGRAM, 8, dec0_state )
569569   AM_RANGE(0x000000, 0x00ffff) AM_ROM
570   AM_RANGE(0x108000, 0x108001) AM_DEVWRITE_LEGACY("ym2", ym3812_w)
570   AM_RANGE(0x108000, 0x108001) AM_DEVWRITE("ym2", ym3812_device, write)
571571   AM_RANGE(0x118000, 0x118001) AM_DEVWRITE("ym1", ym2203_device, write)
572572   AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki", okim6295_device, read, write)
573573   AM_RANGE(0x138000, 0x138001) AM_READ(soundlatch_byte_r)
r22803r22804
13041304   m_audiocpu->set_input_line(1, state); /* IRQ2 */
13051305}
13061306
1307static const ym3812_interface ym3812_config =
1308{
1309   DEVCB_DRIVER_LINE_MEMBER(dec0_state,sound_irq)
1310};
1311
1312static const ym3812_interface ym3812b_interface =
1313{
1314   DEVCB_DRIVER_LINE_MEMBER(dec0_state,sound_irq2)
1315};
1316
13171307/******************************************************************************/
13181308
13191309
r22803r22804
13471337   MCFG_SOUND_ROUTE(3, "mono", 0.35)
13481338
13491339   MCFG_SOUND_ADD("ym2", YM3812, XTAL_12MHz / 4)
1350   MCFG_SOUND_CONFIG(ym3812_config)
1340   MCFG_YM3812_IRQ_HANDLER(WRITELINE(dec0_state, sound_irq))
13511341   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
13521342
13531343   MCFG_OKIM6295_ADD("oki", XTAL_20MHz / 2 / 10, OKIM6295_PIN7_HIGH)
r22803r22804
13651355   MCFG_SOUND_ROUTE(3, "mono", 0.35)
13661356
13671357   MCFG_SOUND_ADD("ym2", YM3812, XTAL_12MHz/4) /* verified on pcb */
1368   MCFG_SOUND_CONFIG(ym3812b_interface)
1358   MCFG_YM3812_IRQ_HANDLER(WRITELINE(dec0_state, sound_irq2))
13691359   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
13701360
13711361   MCFG_OKIM6295_ADD("oki", XTAL_12MHz/12, OKIM6295_PIN7_HIGH) /* verified on pcb */
r22803r22804
17331723   MCFG_CPU_PROGRAM_MAP(dec0_s_map)
17341724
17351725   MCFG_SOUND_MODIFY("ym2")
1736   MCFG_SOUND_CONFIG(ym3812_config)
1726   MCFG_YM3812_IRQ_HANDLER(WRITELINE(dec0_state, sound_irq))
17371727   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
17381728MACHINE_CONFIG_END
17391729
trunk/src/mame/drivers/suna8.c
r22803r22804
11761176
11771177static ADDRESS_MAP_START( hardhead_sound_map, AS_PROGRAM, 8, suna8_state )
11781178   AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
1179   AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
1179   AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
11801180   AM_RANGE(0xa002, 0xa003) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
11811181   AM_RANGE(0xc000, 0xc7ff) AM_RAM // RAM
1182   AM_RANGE(0xc800, 0xc800) AM_DEVREAD_LEGACY("ymsnd", ym3812_status_port_r)   // ? unsure
1182   AM_RANGE(0xc800, 0xc800) AM_DEVREAD("ymsnd", ym3812_device, status_port_r)   // ? unsure
11831183   AM_RANGE(0xd000, 0xd000) AM_WRITE(soundlatch2_byte_w                )   //
11841184   AM_RANGE(0xd800, 0xd800) AM_READ(soundlatch_byte_r              )   // From Main CPU
11851185ADDRESS_MAP_END
r22803r22804
12111211
12121212static ADDRESS_MAP_START( brickzn_sound_map, AS_PROGRAM, 8, suna8_state )
12131213   AM_RANGE(0x0000, 0xbfff) AM_ROM // ROM
1214   AM_RANGE(0xc000, 0xc001) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w   )
1214   AM_RANGE(0xc000, 0xc001) AM_DEVWRITE("ymsnd", ym3812_device, write)
12151215   AM_RANGE(0xc002, 0xc003) AM_DEVWRITE("aysnd", ay8910_device, address_data_w)
12161216   AM_RANGE(0xe000, 0xe7ff) AM_RAM // RAM
12171217   AM_RANGE(0xf000, 0xf000) AM_WRITE(soundlatch2_byte_w                )   // To PCM CPU
r22803r22804
19051905
19061906/* 1 x 24 MHz crystal */
19071907
1908static const ym3812_interface brickzn_ym3812_interface =
1909{
1910   DEVCB_DRIVER_LINE_MEMBER(suna8_state,soundirq)    /* IRQ Line */
1911};
1912
19131908MACHINE_RESET_MEMBER(suna8_state,brickzn)
19141909{
19151910   m_protection_val = m_prot2 = m_prot2_prev = 0xff;
r22803r22804
19501945   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
19511946
19521947   MCFG_SOUND_ADD("ymsnd", YM3812, SUNA8_MASTER_CLOCK / 6)
1953   MCFG_SOUND_CONFIG(brickzn_ym3812_interface)
1948   MCFG_YM3812_IRQ_HANDLER(WRITELINE(suna8_state, soundirq))
19541949   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
19551950   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
19561951
trunk/src/mame/drivers/stadhero.c
r22803r22804
8686static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, stadhero_state )
8787   AM_RANGE(0x0000, 0x05ff) AM_RAM
8888   AM_RANGE(0x0800, 0x0801) AM_DEVWRITE("ym1", ym2203_device, write)
89   AM_RANGE(0x1000, 0x1001) AM_DEVWRITE_LEGACY("ym2", ym3812_w)
89   AM_RANGE(0x1000, 0x1001) AM_DEVWRITE("ym2", ym3812_device, write)
9090   AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_byte_r)
9191   AM_RANGE(0x3800, 0x3800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
9292   AM_RANGE(0x8000, 0xffff) AM_ROM
r22803r22804
217217   m_audiocpu->set_input_line(0, state);
218218}
219219
220static const ym3812_interface ym3812_config =
221{
222   DEVCB_DRIVER_LINE_MEMBER(stadhero_state,irqhandler)
223};
224
225220/******************************************************************************/
226221
227222static MACHINE_CONFIG_START( stadhero, stadhero_state )
r22803r22804
262257   MCFG_SOUND_ROUTE(3, "mono", 0.40)
263258
264259   MCFG_SOUND_ADD("ym2", YM3812, XTAL_24MHz/8)
265   MCFG_SOUND_CONFIG(ym3812_config)
260   MCFG_YM3812_IRQ_HANDLER(WRITELINE(stadhero_state, irqhandler))
266261   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
267262
268263   MCFG_OKIM6295_ADD("oki", XTAL_1_056MHz, OKIM6295_PIN7_HIGH)
trunk/src/mame/drivers/igs011.c
r22803r22804
23182318   AM_RANGE( 0x400000, 0x401fff ) AM_RAM_WRITE(igs011_palette ) AM_SHARE("paletteram")
23192319   AM_RANGE( 0x500000, 0x500001 ) AM_READ_PORT( "COIN" )
23202320   AM_RANGE( 0x600000, 0x600001 ) AM_DEVREADWRITE8("oki", okim6295_device, read, write, 0x00ff )
2321   AM_RANGE( 0x700000, 0x700003 ) AM_DEVWRITE8_LEGACY("ymsnd", ym3812_w, 0x00ff )
2321   AM_RANGE( 0x700000, 0x700003 ) AM_DEVWRITE8("ymsnd", ym3812_device, write, 0x00ff)
23222322
23232323   AM_RANGE( 0x800000, 0x800003 ) AM_WRITE(drgnwrld_igs003_w )
23242324   AM_RANGE( 0x800002, 0x800003 ) AM_READ(drgnwrld_igs003_r )
trunk/src/mame/drivers/wardner.c
r22803r22804
230230
231231static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, wardner_state )
232232   ADDRESS_MAP_GLOBAL_MASK(0xff)
233   AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
233   AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
234234ADDRESS_MAP_END
235235
236236
r22803r22804
370370   m_audiocpu->set_input_line(0, state);
371371}
372372
373static const ym3812_interface ym3812_config =
374{
375   DEVCB_DRIVER_LINE_MEMBER(wardner_state,irqhandler)
376};
377373
378
379374static GFXDECODE_START( wardner )
380375   GFXDECODE_ENTRY( "gfx1", 0x00000, charlayout,   1536, 32 )  /* colors 1536-1791 */
381376   GFXDECODE_ENTRY( "gfx2", 0x00000, tilelayout,   1280, 16 )  /* colors 1280-1535 */
r22803r22804
427422   MCFG_SPEAKER_STANDARD_MONO("mono")
428423
429424   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_14MHz/4)
430   MCFG_SOUND_CONFIG(ym3812_config)
425   MCFG_YM3812_IRQ_HANDLER(WRITELINE(wardner_state, irqhandler))
431426   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
432427MACHINE_CONFIG_END
433428
trunk/src/mame/drivers/amaticmg.c
r22803r22804
644644   ADDRESS_MAP_GLOBAL_MASK(0xff)
645645   AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
646646   AM_RANGE(0x20, 0x23) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
647   AM_RANGE(0x40, 0x41) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
647   AM_RANGE(0x40, 0x41) AM_DEVWRITE("ymsnd", ym3812_device, write)
648648   AM_RANGE(0x60, 0x60) AM_DEVWRITE("crtc", mc6845_device, address_w)
649649   AM_RANGE(0x61, 0x61) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w)
650650   AM_RANGE(0x80, 0x80) AM_WRITE(unk80_w)
r22803r22804
660660//  ADDRESS_MAP_UNMAP_HIGH
661661   AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write)
662662   AM_RANGE(0x20, 0x23) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write)
663   AM_RANGE(0x40, 0x41) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
663   AM_RANGE(0x40, 0x41) AM_DEVWRITE("ymsnd", ym3812_device, write)
664664   AM_RANGE(0x60, 0x60) AM_DEVWRITE("crtc", mc6845_device, address_w)                  // 0e for mg_iii_vger_3.64_v_8309
665665   AM_RANGE(0x61, 0x61) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w) // 0f for mg_iii_vger_3.64_v_8309
666666   AM_RANGE(0xc0, 0xc0) AM_WRITE(rombank_w)
r22803r22804
788788   GFXDECODE_ENTRY( "gfx1", 0x0000, charlayout_6bpp, 0, 0x10000/0x40 )
789789GFXDECODE_END
790790
791/************************************
792*          Sound Interface          *
793************************************/
794791
795static const ym3812_interface ym3812_config =
796{
797   DEVCB_NULL
798};
799
800
801792/************************************
802793*          CRTC Interface           *
803794************************************/
r22803r22804
898889   MCFG_SPEAKER_STANDARD_MONO("mono")
899890
900891   MCFG_SOUND_ADD("ymsnd", YM3812, SND_CLOCK)
901   MCFG_SOUND_CONFIG(ym3812_config)
902892   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
903893
904894//  MCFG_DAC_ADD("dac")   /* Y3014B */
trunk/src/mame/drivers/nmg5.c
r22803r22804
406406static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, nmg5_state )
407407   ADDRESS_MAP_GLOBAL_MASK(0xff)
408408   AM_RANGE(0x00, 0x00) AM_WRITE(oki_banking_w)
409   AM_RANGE(0x10, 0x11) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
409   AM_RANGE(0x10, 0x11) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
410410   AM_RANGE(0x18, 0x18) AM_READ(soundlatch_byte_r)
411411   AM_RANGE(0x1c, 0x1c) AM_DEVREADWRITE("oki", okim6295_device, read, write)
412412ADDRESS_MAP_END
r22803r22804
980980   m_soundcpu->set_input_line(0, state);
981981}
982982
983static const ym3812_interface ym3812_intf =
984{
985   DEVCB_DRIVER_LINE_MEMBER(nmg5_state,soundirq)    /* IRQ Line */
986};
987
988983void nmg5_state::machine_start()
989984{
990985   save_item(NAME(m_gfx_bank));
r22803r22804
10361031   MCFG_SPEAKER_STANDARD_MONO("mono")
10371032
10381033   MCFG_SOUND_ADD("ymsnd", YM3812, 4000000) /* 4MHz */
1039   MCFG_SOUND_CONFIG(ym3812_intf)
1034   MCFG_YM3812_IRQ_HANDLER(WRITELINE(nmg5_state, soundirq))
10401035   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
10411036
10421037   MCFG_OKIM6295_ADD("oki", 1000000 , OKIM6295_PIN7_HIGH)
trunk/src/mame/drivers/toaplan2.c
r22803r22804
13671367static ADDRESS_MAP_START( pipibibs_sound_z80_mem, AS_PROGRAM, 8, toaplan2_state )
13681368   AM_RANGE(0x0000, 0x7fff) AM_ROM
13691369   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("shared_ram")
1370   AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
1370   AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
13711371ADDRESS_MAP_END
13721372
13731373
r22803r22804
29722972      m_audiocpu->set_input_line(0, state);
29732973}
29742974
2975static const ym3812_interface ym3812_config =
2976{
2977   DEVCB_DRIVER_LINE_MEMBER(toaplan2_state,irqhandler)
2978};
2979
2980
29812975WRITE_LINE_MEMBER(toaplan2_state::bbakraid_irqhandler)
29822976{
29832977   // Not used ???  Connected to a test pin (TP082)
r22803r22804
30213015   MCFG_SPEAKER_STANDARD_MONO("mono")
30223016
30233017   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_27MHz/8)
3024   MCFG_SOUND_CONFIG(ym3812_config)
3018   MCFG_YM3812_IRQ_HANDLER(WRITELINE(toaplan2_state, irqhandler))
30253019   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
30263020MACHINE_CONFIG_END
30273021
r22803r22804
33253319   MCFG_SPEAKER_STANDARD_MONO("mono")
33263320
33273321   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_27MHz/8)           /* verified on pcb */
3328   MCFG_SOUND_CONFIG(ym3812_config)
3322   MCFG_YM3812_IRQ_HANDLER(WRITELINE(toaplan2_state, irqhandler))
33293323   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
33303324MACHINE_CONFIG_END
33313325
r22803r22804
33663360   MCFG_SPEAKER_STANDARD_MONO("mono")
33673361
33683362   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_27MHz/8)
3369   MCFG_SOUND_CONFIG(ym3812_config)
3363   MCFG_YM3812_IRQ_HANDLER(WRITELINE(toaplan2_state, irqhandler))
33703364   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
33713365MACHINE_CONFIG_END
33723366
trunk/src/mame/drivers/speedbal.c
r22803r22804
9393
9494static ADDRESS_MAP_START( sound_cpu_io_map, AS_IO, 8, speedbal_state )
9595   ADDRESS_MAP_GLOBAL_MASK(0xff)
96   AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
96   AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
9797   AM_RANGE(0x40, 0x40) AM_WRITENOP
9898   AM_RANGE(0x80, 0x80) AM_WRITENOP
9999   AM_RANGE(0x82, 0x82) AM_WRITENOP
trunk/src/mame/drivers/yunsung8.c
r22803r22804
116116   AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank2")    // Banked ROM
117117   AM_RANGE(0xe000, 0xe000) AM_WRITE(yunsung8_sound_bankswitch_w   )   // ROM Bank
118118   AM_RANGE(0xe400, 0xe400) AM_WRITE(yunsung8_adpcm_w)
119   AM_RANGE(0xec00, 0xec01) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
119   AM_RANGE(0xec00, 0xec01) AM_DEVWRITE("ymsnd", ym3812_device, write)
120120   AM_RANGE(0xf000, 0xf7ff) AM_RAM
121121   AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_byte_r) // From Main CPU
122122ADDRESS_MAP_END
trunk/src/mame/drivers/nbmj8891.c
r22803r22804
438438   AM_RANGE(0x40, 0x40) AM_WRITE(nbmj8891_clutsel_w)
439439   AM_RANGE(0x60, 0x60) AM_WRITE(nbmj8891_romsel_w)
440440   AM_RANGE(0x70, 0x70) AM_WRITE(nbmj8891_scrolly_w)
441   AM_RANGE(0x80, 0x81) AM_DEVWRITE_LEGACY("fmsnd", ym3812_w)
441   AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
442442   AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
443443   AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
444444   AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
r22803r22804
457457   AM_RANGE(0x40, 0x40) AM_WRITE(nbmj8891_clutsel_w)
458458   AM_RANGE(0x60, 0x60) AM_WRITE(nbmj8891_romsel_w)
459459   AM_RANGE(0x70, 0x70) AM_WRITE(nbmj8891_scrolly_w)
460   AM_RANGE(0x80, 0x81) AM_DEVWRITE_LEGACY("fmsnd", ym3812_w)
460   AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
461461   AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
462462   AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
463463   AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
r22803r22804
498498   AM_RANGE(0x40, 0x40) AM_WRITE(nbmj8891_clutsel_w)
499499   AM_RANGE(0x60, 0x60) AM_WRITE(nbmj8891_romsel_w)
500500   AM_RANGE(0x70, 0x70) AM_WRITE(nbmj8891_scrolly_w)
501   AM_RANGE(0x80, 0x81) AM_DEVWRITE_LEGACY("fmsnd", ym3812_w)
501   AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
502502   AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
503503   AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
504504   AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
r22803r22804
517517   AM_RANGE(0x50, 0x57) AM_WRITE(nbmj8891_blitter_w)
518518   AM_RANGE(0x60, 0x60) AM_WRITE(nbmj8891_romsel_w)
519519   AM_RANGE(0x70, 0x70) AM_WRITE(nbmj8891_scrolly_w)
520   AM_RANGE(0x80, 0x81) AM_DEVWRITE_LEGACY("fmsnd", ym3812_w)
520   AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
521521   AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
522522   AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
523523   AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
r22803r22804
536536   AM_RANGE(0x10, 0x10) AM_WRITE(nbmj8891_romsel_w)
537537   AM_RANGE(0x20, 0x20) AM_WRITE(nbmj8891_clutsel_w)
538538   AM_RANGE(0x50, 0x50) AM_WRITE(nbmj8891_scrolly_w)
539   AM_RANGE(0x80, 0x81) AM_DEVWRITE_LEGACY("fmsnd", ym3812_w)
539   AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
540540   AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
541541   AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
542542   AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
r22803r22804
576576   AM_RANGE(0x30, 0x30) AM_WRITE(nbmj8891_vramsel_w)
577577   AM_RANGE(0x40, 0x4f) AM_WRITE(nbmj8891_clut_w)
578578   AM_RANGE(0x50, 0x50) AM_WRITE(nbmj8891_scrolly_w)
579   AM_RANGE(0x80, 0x81) AM_DEVWRITE_LEGACY("fmsnd", ym3812_w)
579   AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
580580   AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
581581   AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
582582   AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
r22803r22804
595595   AM_RANGE(0x50, 0x57) AM_WRITE(nbmj8891_blitter_w)
596596   AM_RANGE(0x60, 0x60) AM_WRITE(nbmj8891_romsel_w)
597597   AM_RANGE(0x70, 0x70) AM_WRITE(nbmj8891_scrolly_w)
598   AM_RANGE(0x80, 0x81) AM_DEVWRITE_LEGACY("fmsnd", ym3812_w)
598   AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
599599   AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r) //AM_WRITENOP
600600   AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
601601   AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
r22803r22804
614614   AM_RANGE(0x50, 0x57) AM_WRITE(nbmj8891_blitter_w)
615615   AM_RANGE(0x60, 0x60) AM_WRITE(nbmj8891_romsel_w)
616616   AM_RANGE(0x70, 0x70) AM_WRITE(nbmj8891_scrolly_w)
617   AM_RANGE(0x80, 0x81) AM_DEVWRITE_LEGACY("fmsnd", ym3812_w)
617   AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
618618   AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
619619   AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
620620   AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
trunk/src/mame/drivers/deniam.c
r22803r22804
102102static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, deniam_state )
103103   ADDRESS_MAP_GLOBAL_MASK(0xff)
104104   AM_RANGE(0x01, 0x01) AM_READ(soundlatch_byte_r)
105   AM_RANGE(0x02, 0x03) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
105   AM_RANGE(0x02, 0x03) AM_DEVWRITE("ymsnd", ym3812_device, write)
106106   AM_RANGE(0x05, 0x05) AM_DEVREADWRITE("oki", okim6295_device, read, write)
107107   AM_RANGE(0x07, 0x07) AM_WRITE(deniam16b_oki_rom_bank_w)
108108ADDRESS_MAP_END
r22803r22804
122122   AM_RANGE(0xc44002, 0xc44003) AM_READ_PORT("P1")
123123   AM_RANGE(0xc44004, 0xc44005) AM_READ_PORT("P2")
124124   AM_RANGE(0xc44006, 0xc44007) AM_READNOP /* read unused? extra input port/dipswitches? */
125   AM_RANGE(0xc40008, 0xc4000b) AM_DEVWRITE8_LEGACY("ymsnd", ym3812_w, 0xff00)
125   AM_RANGE(0xc40008, 0xc4000b) AM_DEVWRITE8("ymsnd", ym3812_device, write, 0xff00)
126126   AM_RANGE(0xc4400a, 0xc4400b) AM_READ_PORT("DSW") /* probably YM3812 input port */
127127   AM_RANGE(0xff0000, 0xffffff) AM_RAM
128128ADDRESS_MAP_END
r22803r22804
227227   if (m_audiocpu != NULL)
228228      m_audiocpu->set_input_line(0, state);
229229}
230   
230231
231static const ym3812_interface ym3812_config =
232{
233   DEVCB_DRIVER_LINE_MEMBER(deniam_state,irqhandler)
234};
235232
236
237
238233void deniam_state::machine_start()
239234{
240235   save_item(NAME(m_display_enable));
r22803r22804
293288   MCFG_SPEAKER_STANDARD_MONO("mono")
294289
295290   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_25MHz/6) /* "SM64" ym3812 clone; 4.166470 measured, = 4.166666Mhz verified */
296   MCFG_SOUND_CONFIG(ym3812_config)
291   MCFG_YM3812_IRQ_HANDLER(WRITELINE(deniam_state, irqhandler))
297292   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
298293
299294   MCFG_OKIM6295_ADD("oki", XTAL_25MHz/24, OKIM6295_PIN7_HIGH) /* 1.041620 measured, = 1.0416666Mhz verified */
r22803r22804
325320   MCFG_SPEAKER_STANDARD_MONO("mono")
326321
327322   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_25MHz/6) /* "SM64" ym3812 clone; 4.166470 measured, = 4.166666Mhz verified) */
328   MCFG_SOUND_CONFIG(ym3812_config)
323   MCFG_YM3812_IRQ_HANDLER(WRITELINE(deniam_state, irqhandler))
329324   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
330325
331326   MCFG_OKIM6295_ADD("oki", XTAL_25MHz/24, OKIM6295_PIN7_HIGH)  /* 1.041620 measured, = 1.0416666Mhz verified */
trunk/src/mame/drivers/snk.c
r22803r22804
468468}
469469
470470
471static const ym3812_interface ym3812_config_1 =
472{
473   DEVCB_DRIVER_LINE_MEMBER(snk_state,ymirq_callback_1)
474};
475471
476
477
478472WRITE8_MEMBER(snk_state::snk_soundlatch_w)
479473{
480474   soundlatch_byte_w(space, offset, data);
r22803r22804
14461440   AM_RANGE(0x0000, 0xbfff) AM_ROM
14471441   AM_RANGE(0xc000, 0xcfff) AM_RAM
14481442   AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_byte_r)
1449   AM_RANGE(0xe800, 0xe800) AM_DEVREADWRITE_LEGACY("ym1", ym3812_status_port_r, ym3812_control_port_w)
1450   AM_RANGE(0xec00, 0xec00) AM_DEVWRITE_LEGACY("ym1", ym3812_write_port_w)
1443   AM_RANGE(0xe800, 0xe800) AM_DEVREADWRITE("ym1", ym3812_device, status_port_r, control_port_w)
1444   AM_RANGE(0xec00, 0xec00) AM_DEVWRITE("ym1", ym3812_device, write_port_w)
14511445   AM_RANGE(0xf800, 0xf800) AM_READWRITE(snk_sound_status_r, snk_sound_status_w)
14521446ADDRESS_MAP_END
14531447
r22803r22804
14661460   AM_RANGE(0x0000, 0xbfff) AM_ROM
14671461   AM_RANGE(0xc000, 0xcfff) AM_RAM
14681462   AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_byte_r)
1469   AM_RANGE(0xe800, 0xe800) AM_DEVREADWRITE_LEGACY("ym1", ym3812_status_port_r, ym3812_control_port_w)
1470   AM_RANGE(0xec00, 0xec00) AM_DEVWRITE_LEGACY("ym1", ym3812_write_port_w)
1463   AM_RANGE(0xe800, 0xe800) AM_DEVREADWRITE("ym1", ym3812_device, status_port_r, control_port_w)
1464   AM_RANGE(0xec00, 0xec00) AM_DEVWRITE("ym1", ym3812_device, write_port_w)
14711465   AM_RANGE(0xf000, 0xf000) AM_DEVREADWRITE("ym2", y8950_device, status_port_r, control_port_w)
14721466   AM_RANGE(0xf400, 0xf400) AM_DEVWRITE("ym2", y8950_device, write_port_w)
14731467   AM_RANGE(0xf800, 0xf800) AM_READWRITE(snk_sound_status_r, snk_sound_status_w)
r22803r22804
38373831
38383832   /* sound hardware */
38393833   MCFG_SOUND_REPLACE("ym1", YM3812, XTAL_4MHz) /* verified on pcb */
3840   MCFG_SOUND_CONFIG(ym3812_config_1)
3834   MCFG_YM3812_IRQ_HANDLER(WRITELINE(snk_state, ymirq_callback_1))
38413835   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.0)
38423836MACHINE_CONFIG_END
38433837
r22803r22804
39893983
39903984   /* sound hardware */
39913985   MCFG_SOUND_REPLACE("ym1", YM3812, 4000000)
3992   MCFG_SOUND_CONFIG(ym3812_config_1)
3986   MCFG_YM3812_IRQ_HANDLER(WRITELINE(snk_state, ymirq_callback_1))
39933987   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
39943988MACHINE_CONFIG_END
39953989
trunk/src/mame/drivers/dec8.c
r22803r22804
846846static ADDRESS_MAP_START( dec8_s_map, AS_PROGRAM, 8, dec8_state )
847847   AM_RANGE(0x0000, 0x05ff) AM_RAM
848848   AM_RANGE(0x2000, 0x2001) AM_DEVWRITE("ym1", ym2203_device, write)
849   AM_RANGE(0x4000, 0x4001) AM_DEVWRITE_LEGACY("ym2", ym3812_w)
849   AM_RANGE(0x4000, 0x4001) AM_DEVWRITE("ym2", ym3812_device, write)
850850   AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_byte_r)
851851   AM_RANGE(0x8000, 0xffff) AM_ROM
852852ADDRESS_MAP_END
r22803r22804
19081908   m_audiocpu->set_input_line(0, state); /* M6502_IRQ_LINE */
19091909}
19101910
1911static const ym3812_interface ym3812_config =
1912{
1913   DEVCB_DRIVER_LINE_MEMBER(dec8_state,irqhandler)
1914};
1915
19161911static const msm5205_interface msm5205_config =
19171912{
19181913   DEVCB_DRIVER_LINE_MEMBER(dec8_state,csilver_adpcm_int),  /* interrupt function */
r22803r22804
22402235   MCFG_SOUND_ROUTE(3, "mono", 0.20)
22412236
22422237   MCFG_SOUND_ADD("ym2", YM3812, 3000000)
2243   MCFG_SOUND_CONFIG(ym3812_config)
2238   MCFG_YM3812_IRQ_HANDLER(WRITELINE(dec8_state, irqhandler))
22442239   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
22452240MACHINE_CONFIG_END
22462241
r22803r22804
23872382   MCFG_SOUND_ROUTE(3, "mono", 0.20)
23882383
23892384   MCFG_SOUND_ADD("ym2", YM3812, 3000000)
2390   MCFG_SOUND_CONFIG(ym3812_config)
2385   MCFG_YM3812_IRQ_HANDLER(WRITELINE(dec8_state, irqhandler))
23912386   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
23922387MACHINE_CONFIG_END
23932388
r22803r22804
24382433   MCFG_SOUND_ROUTE(3, "mono", 0.50)
24392434
24402435   MCFG_SOUND_ADD("ym2", YM3812, 3000000)
2441   MCFG_SOUND_CONFIG(ym3812_config)
2436   MCFG_YM3812_IRQ_HANDLER(WRITELINE(dec8_state, irqhandler))
24422437   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.70)
24432438MACHINE_CONFIG_END
24442439
trunk/src/mame/drivers/nbmj8688.c
r22803r22804
326326//  AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r)
327327   AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(nb1413m3_sndrombank1_w)
328328   AM_RANGE(0x70, 0x70) AM_WRITE_LEGACY(nb1413m3_nmi_clock_w)
329   AM_RANGE(0x80, 0x81) AM_DEVREADWRITE_LEGACY("psg", ym3812_r,ym3812_w)
329   AM_RANGE(0x80, 0x81) AM_DEVREADWRITE("psg", ym3812_device, read, write)
330330   AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
331331   AM_RANGE(0x90, 0x97) AM_WRITE(nbmj8688_blitter_w)
332332   AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
r22803r22804
366366   AM_RANGE(0x20, 0x3f) AM_WRITE(nbmj8688_clut_w)
367367   AM_RANGE(0x50, 0x50) AM_WRITE(mjsikaku_romsel_w)
368368   AM_RANGE(0x70, 0x77) AM_WRITE(nbmj8688_blitter_w)
369   AM_RANGE(0x80, 0x81) AM_DEVREADWRITE_LEGACY("psg", ym3812_r,ym3812_w)
369   AM_RANGE(0x80, 0x81) AM_DEVREADWRITE("psg", ym3812_device, read, write)
370370   AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
371371   AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
372372   AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
r22803r22804
495495   AM_RANGE(0x20, 0x3f) AM_WRITE(nbmj8688_clut_w)
496496   AM_RANGE(0x50, 0x50) AM_WRITE(mjsikaku_romsel_w)
497497   AM_RANGE(0x60, 0x67) AM_WRITE(nbmj8688_blitter_w)
498   AM_RANGE(0x80, 0x81) AM_DEVREADWRITE_LEGACY("psg", ym3812_r, ym3812_w)
498   AM_RANGE(0x80, 0x81) AM_DEVREADWRITE("psg", ym3812_device, read, write)
499499   AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
500500   AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
501501   AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
trunk/src/mame/drivers/nbmj8991.c
r22803r22804
248248static ADDRESS_MAP_START( galkoku_io_map, AS_IO, 8, nbmj8991_state )
249249   ADDRESS_MAP_GLOBAL_MASK(0xff)
250250   AM_RANGE(0x00, 0x7f) AM_READ_LEGACY(nb1413m3_sndrom_r) AM_WRITE(nbmj8991_blitter_w)
251   AM_RANGE(0x80, 0x81) AM_DEVWRITE_LEGACY("fmsnd", ym3812_w)
251   AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
252252   AM_RANGE(0x90, 0x90) AM_READ_LEGACY(nb1413m3_inputport0_r)
253253   AM_RANGE(0xa0, 0xa0) AM_READWRITE_LEGACY(nb1413m3_inputport1_r,nb1413m3_inputportsel_w)
254254   AM_RANGE(0xb0, 0xb0) AM_READWRITE_LEGACY(nb1413m3_inputport2_r,nb1413m3_sndrombank1_w)
r22803r22804
314314   AM_RANGE(0x02, 0x02) AM_DEVWRITE("dac2", dac_device, write_unsigned8)
315315   AM_RANGE(0x04, 0x04) AM_WRITE(nbmj8991_soundbank_w)
316316   AM_RANGE(0x06, 0x06) AM_WRITENOP
317   AM_RANGE(0x80, 0x81) AM_DEVWRITE_LEGACY("fmsnd", ym3812_w)
317   AM_RANGE(0x80, 0x81) AM_DEVWRITE("fmsnd", ym3812_device, write)
318318ADDRESS_MAP_END
319319
320320
trunk/src/mame/drivers/subsino2.c
r22803r22804
12321232   AM_RANGE(0x0000, 0x0000) AM_WRITE(ss9601_scrollctrl_w )
12331233
12341234   AM_RANGE(0x0020, 0x0020) AM_DEVREADWRITE("oki", okim6295_device, read, write)
1235   AM_RANGE(0x0040, 0x0041) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w )
1235   AM_RANGE(0x0040, 0x0041) AM_DEVWRITE("ymsnd", ym3812_device, write)
12361236
12371237   AM_RANGE(0x0060, 0x0063) AM_WRITE(hm86171_colorram_w )
12381238
trunk/src/mame/drivers/aerofgt.c
r22803r22804
406406   AM_RANGE(0x0000, 0xefff) AM_ROM
407407   AM_RANGE(0xf000, 0xf7ff) AM_RAM
408408   AM_RANGE(0xf800, 0xf800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
409   AM_RANGE(0xf810, 0xf811) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
409   AM_RANGE(0xf810, 0xf811) AM_DEVWRITE("ymsnd", ym3812_device, write)
410410   AM_RANGE(0xfc00, 0xfc00) AM_NOP
411411   AM_RANGE(0xfc20, 0xfc20) AM_READ(soundlatch_byte_r)
412412ADDRESS_MAP_END
r22803r22804
12761276   m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
12771277}
12781278
1279static const ym3812_interface ym3812_config =
1280{
1281   DEVCB_DRIVER_LINE_MEMBER(aerofgt_state,irqhandler)  /* IRQ Line */
1282};
12831279
1284
12851280MACHINE_START_MEMBER(aerofgt_state,common)
12861281{
12871282   save_item(NAME(m_pending_command));
r22803r22804
17791774   MCFG_SPEAKER_STANDARD_MONO("mono")
17801775
17811776   MCFG_SOUND_ADD("ymsnd", YM3812, 3579545)
1782   MCFG_SOUND_CONFIG(ym3812_config)
1777   MCFG_YM3812_IRQ_HANDLER(WRITELINE(aerofgt_state, irqhandler))
17831778   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
17841779
17851780   MCFG_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
trunk/src/mame/drivers/pokechmp.c
r22803r22804
105105static ADDRESS_MAP_START( pokechmp_sound_map, AS_PROGRAM, 8, pokechmp_state )
106106   AM_RANGE(0x0000, 0x07ff) AM_RAM
107107   AM_RANGE(0x0800, 0x0801) AM_DEVWRITE("ym1", ym2203_device, write)
108   AM_RANGE(0x1000, 0x1001) AM_DEVWRITE_LEGACY("ym2", ym3812_w)
108   AM_RANGE(0x1000, 0x1001) AM_DEVWRITE("ym2", ym3812_device, write)
109109   AM_RANGE(0x1800, 0x1800) AM_WRITENOP    /* MSM5205 chip on Pocket Gal, not connected here? */
110110   AM_RANGE(0x2000, 0x2000) AM_WRITE(pokechmp_sound_bank_w) /* sound rom bank seems to be replaced with OKI bank */
111111   AM_RANGE(0x2800, 0x2800) AM_DEVREADWRITE("oki", okim6295_device, read, write) // extra
trunk/src/mame/drivers/gaelco.c
r22803r22804
133133   AM_RANGE(0x0000, 0x07ff) AM_RAM                                         /* RAM */
134134   AM_RANGE(0x0800, 0x0801) AM_DEVREADWRITE("oki", okim6295_device, read, write)   /* OKI6295 */
135135//  AM_RANGE(0x0900, 0x0900) AM_WRITENOP                                    /* enable sound output? */
136   AM_RANGE(0x0a00, 0x0a01) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)        /* YM3812 */
136   AM_RANGE(0x0a00, 0x0a01) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)        /* YM3812 */
137137   AM_RANGE(0x0b00, 0x0b00) AM_READ(soundlatch_byte_r)                         /* Sound latch */
138138   AM_RANGE(0x0c00, 0xffff) AM_ROM                                         /* ROM */
139139ADDRESS_MAP_END
trunk/src/mame/drivers/onetwo.c
r22803r22804
195195
196196static ADDRESS_MAP_START( sound_cpu_io, AS_IO, 8, onetwo_state )
197197   ADDRESS_MAP_GLOBAL_MASK(0xff)
198   AM_RANGE(0x00, 0x00) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_status_port_r, ym3812_control_port_w)
199   AM_RANGE(0x20, 0x20) AM_DEVWRITE_LEGACY("ymsnd", ym3812_write_port_w)
198   AM_RANGE(0x00, 0x00) AM_DEVREADWRITE("ymsnd", ym3812_device, status_port_r, control_port_w)
199   AM_RANGE(0x20, 0x20) AM_DEVWRITE("ymsnd", ym3812_device, write_port_w)
200200   AM_RANGE(0x40, 0x40) AM_DEVREADWRITE("oki", okim6295_device, read, write)
201201   AM_RANGE(0xc0, 0xc0) AM_WRITE(soundlatch_clear_byte_w)
202202ADDRESS_MAP_END
r22803r22804
337337   m_audiocpu->set_input_line(0, state);
338338}
339339
340static const ym3812_interface ym3812_config =
341{
342   DEVCB_DRIVER_LINE_MEMBER(onetwo_state,irqhandler)  /* IRQ Line */
343};
344
345340/*************************************
346341 *
347342 *  Machine driver
r22803r22804
385380   MCFG_SPEAKER_STANDARD_MONO("mono")
386381
387382   MCFG_SOUND_ADD("ymsnd", YM3812, MASTER_CLOCK)
388   MCFG_SOUND_CONFIG(ym3812_config)
383   MCFG_YM3812_IRQ_HANDLER(WRITELINE(onetwo_state, irqhandler))
389384   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
390385
391386   MCFG_OKIM6295_ADD("oki", 1056000*2, OKIM6295_PIN7_LOW) // clock frequency & pin 7 not verified
trunk/src/mame/drivers/spbactn.c
r22803r22804
222222   AM_RANGE(0x0000, 0xefff) AM_ROM
223223   AM_RANGE(0xf000, 0xf7ff) AM_RAM
224224   AM_RANGE(0xf800, 0xf800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
225   AM_RANGE(0xf810, 0xf811) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
225   AM_RANGE(0xf810, 0xf811) AM_DEVWRITE("ymsnd", ym3812_device, write)
226226
227227   AM_RANGE(0xfc00, 0xfc00) AM_READNOP AM_WRITENOP /* irq ack ?? */
228228   AM_RANGE(0xfc20, 0xfc20) AM_READ(soundlatch_byte_r)
r22803r22804
407407   m_audiocpu->set_input_line(0, state);
408408}
409409
410static const ym3812_interface ym3812_config =
411{
412   DEVCB_DRIVER_LINE_MEMBER(spbactn_state,irqhandler)
413};
414
415410static MACHINE_CONFIG_START( spbactn, spbactn_state )
416411
417412   /* basic machine hardware */
r22803r22804
439434   MCFG_SPEAKER_STANDARD_MONO("mono")
440435
441436   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_4MHz) /* Was 3.579545MHz, a common clock, but no way to generate via on PCB OSCs */
442   MCFG_SOUND_CONFIG(ym3812_config)
437   MCFG_YM3812_IRQ_HANDLER(WRITELINE(spbactn_state, irqhandler))
443438   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
444439
445440   MCFG_OKIM6295_ADD("oki", XTAL_4MHz/4, OKIM6295_PIN7_HIGH) /* Was 1.056MHz, a common clock, but no way to generate via on PCB OSCs. clock frequency & pin 7 not verified */
r22803r22804
481476   MCFG_SPEAKER_STANDARD_MONO("mono")
482477
483478   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_4MHz)
484   MCFG_SOUND_CONFIG(ym3812_config)
479   MCFG_YM3812_IRQ_HANDLER(WRITELINE(spbactn_state, irqhandler))
485480   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
486481
487482   MCFG_OKIM6295_ADD("oki", XTAL_4MHz/4, OKIM6295_PIN7_HIGH)
trunk/src/mame/drivers/fuukifg2.c
r22803r22804
143143   AM_RANGE(0x20, 0x20) AM_WRITE(fuuki16_oki_banking_w)    // Oki Banking
144144   AM_RANGE(0x30, 0x30) AM_WRITENOP    // ? In the NMI routine
145145   AM_RANGE(0x40, 0x41) AM_DEVWRITE("ym1", ym2203_device, write)
146   AM_RANGE(0x50, 0x51) AM_DEVREADWRITE_LEGACY("ym2", ym3812_r, ym3812_w)
146   AM_RANGE(0x50, 0x51) AM_DEVREADWRITE("ym2", ym3812_device, read, write)
147147   AM_RANGE(0x60, 0x60) AM_DEVREAD("oki", okim6295_device, read)   // M6295
148148   AM_RANGE(0x61, 0x61) AM_DEVWRITE("oki", okim6295_device, write) // M6295
149149ADDRESS_MAP_END
r22803r22804
394394   m_audiocpu->set_input_line(0, state);
395395}
396396
397static const ym3812_interface fuuki16_ym3812_intf =
398{
399   DEVCB_DRIVER_LINE_MEMBER(fuuki16_state,soundirq)    /* IRQ Line */
400};
401
402397/*
403398    - Interrupts (pbancho) -
404399
r22803r22804
484479   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.15)
485480
486481   MCFG_SOUND_ADD("ym2", YM3812, 4000000)
487   MCFG_SOUND_CONFIG(fuuki16_ym3812_intf)
482   MCFG_YM3812_IRQ_HANDLER(WRITELINE(fuuki16_state, soundirq))
488483   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.30)
489484   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.30)
490485
trunk/src/mame/drivers/splash.c
r22803r22804
121121   AM_RANGE(0xd800, 0xd800) AM_WRITE(splash_adpcm_data_w)              /* ADPCM data for the MSM5205 chip */
122122//  AM_RANGE(0xe000, 0xe000) AM_WRITENOP                                /* ??? */
123123   AM_RANGE(0xe800, 0xe800) AM_READ(soundlatch_byte_r)                     /* Sound latch */
124   AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r,ym3812_w) /* YM3812 */
124   AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write) /* YM3812 */
125125   AM_RANGE(0xf800, 0xffff) AM_RAM                                     /* RAM */
126126ADDRESS_MAP_END
127127
trunk/src/mame/drivers/lordgun.c
r22803r22804
354354}
355355
356356static ADDRESS_MAP_START( lordgun_soundio_map, AS_IO, 8, lordgun_state )
357   AM_RANGE(0x1000, 0x1001) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w )
357   AM_RANGE(0x1000, 0x1001) AM_DEVWRITE("ymsnd", ym3812_device, write)
358358   AM_RANGE(0x2000, 0x2000) AM_DEVREADWRITE("oki", okim6295_device, read, write)
359359   AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch2_byte_r )
360360   AM_RANGE(0x4000, 0x4000) AM_READ(soundlatch_byte_r )
r22803r22804
665665   m_soundcpu->set_input_line(INPUT_LINE_IRQ0, state);
666666}
667667
668static const ym3812_interface lordgun_ym3812_interface =
669{
670   DEVCB_DRIVER_LINE_MEMBER(lordgun_state,soundirq)
671};
672
673668static MACHINE_CONFIG_START( lordgun, lordgun_state )
674669   MCFG_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2)
675670   MCFG_CPU_PROGRAM_MAP(lordgun_map)
r22803r22804
698693   MCFG_SPEAKER_STANDARD_MONO("mono")
699694
700695   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_3_579545MHz)
701   MCFG_SOUND_CONFIG(lordgun_ym3812_interface)
696   MCFG_YM3812_IRQ_HANDLER(WRITELINE(lordgun_state, soundirq))
702697   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
703698
704699   MCFG_OKIM6295_ADD("oki", XTAL_20MHz / 20, OKIM6295_PIN7_HIGH)   // ? 5MHz can't be right!
trunk/src/mame/drivers/galspnbl.c
r22803r22804
8181   AM_RANGE(0x0000, 0xefff) AM_ROM
8282   AM_RANGE(0xf000, 0xf7ff) AM_RAM
8383   AM_RANGE(0xf800, 0xf800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
84   AM_RANGE(0xf810, 0xf811) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
84   AM_RANGE(0xf810, 0xf811) AM_DEVWRITE("ymsnd", ym3812_device, write)
8585   AM_RANGE(0xfc00, 0xfc00) AM_NOP /* irq ack ?? */
8686   AM_RANGE(0xfc20, 0xfc20) AM_READ(soundlatch_byte_r)
8787ADDRESS_MAP_END
r22803r22804
210210   m_audiocpu->set_input_line(0, state);
211211}
212212
213static const ym3812_interface ym3812_config =
214{
215   DEVCB_DRIVER_LINE_MEMBER(galspnbl_state,irqhandler)
216};
217213
218
219214void galspnbl_state::machine_start()
220215{
221216}
r22803r22804
248243   MCFG_SPEAKER_STANDARD_MONO("mono")
249244
250245   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_4MHz) /* Use value from Super Pinball Action - NEEDS VERIFICATION!! */
251   MCFG_SOUND_CONFIG(ym3812_config)
246   MCFG_YM3812_IRQ_HANDLER(WRITELINE(galspnbl_state, irqhandler))
252247   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
253248
254249   MCFG_OKIM6295_ADD("oki", XTAL_4MHz/4, OKIM6295_PIN7_HIGH) /* Use value from Super Pinball Action - clock frequency & pin 7 not verified */
trunk/src/mame/drivers/subsino.c
r22803r22804
841841
842842   AM_RANGE( 0x0d00c, 0x0d00c ) AM_READ_PORT( "INC" )
843843
844   AM_RANGE( 0x0d016, 0x0d017 ) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w )
844   AM_RANGE( 0x0d016, 0x0d017 ) AM_DEVWRITE("ymsnd", ym3812_device, write)
845845
846846   AM_RANGE( 0x0d018, 0x0d018 ) AM_DEVWRITE("oki", okim6295_device, write)
847847
r22803r22804
868868
869869   AM_RANGE( 0x0900c, 0x0900c ) AM_READ_PORT( "INC" )
870870
871   AM_RANGE( 0x09016, 0x09017 ) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w )
871   AM_RANGE( 0x09016, 0x09017 ) AM_DEVWRITE("ymsnd", ym3812_device, write)
872872
873873   AM_RANGE( 0x09018, 0x09018 ) AM_DEVWRITE("oki", okim6295_device, write)
874874
r22803r22804
10471047
10481048   AM_RANGE( 0x0900c, 0x0900c ) AM_READ_PORT( "INC" )
10491049
1050   AM_RANGE( 0x09016, 0x09017 ) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w )
1050   AM_RANGE( 0x09016, 0x09017 ) AM_DEVWRITE("ymsnd", ym3812_device, write)
10511051
10521052//  AM_RANGE( 0x0900c, 0x0900c ) AM_DEVWRITE("oki", okim6295_device, write)
10531053
r22803r22804
11721172
11731173   AM_RANGE( 0x0d010, 0x0d013 ) AM_WRITE(colordac_w)
11741174
1175   AM_RANGE( 0x0d016, 0x0d017 ) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w )
1175   AM_RANGE( 0x0d016, 0x0d017 ) AM_DEVWRITE("ymsnd", ym3812_device, write)
11761176
11771177//  AM_RANGE( 0x0d01b, 0x0d01b ) AM_WRITE(subsino_tiles_offset_w )
11781178
r22803r22804
12131213
12141214//  AM_RANGE( 0x0d012, 0x0d012 ) AM_WRITE
12151215
1216   AM_RANGE( 0x0d016, 0x0d017 ) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w )
1216   AM_RANGE( 0x0d016, 0x0d017 ) AM_DEVWRITE("ymsnd", ym3812_device, write)
12171217
12181218//  AM_RANGE( 0x0d018, 0x0d018 ) AM_DEVREADWRITE("oki", okim6295_device, read, write)
12191219
trunk/src/mame/drivers/twincobr.c
r22803r22804
311311
312312static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, twincobr_state )
313313   ADDRESS_MAP_GLOBAL_MASK(0xff)
314   AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
314   AM_RANGE(0x00, 0x01) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
315315   AM_RANGE(0x10, 0x10) AM_READ_PORT("SYSTEM")         /* Twin Cobra - Coin/Start */
316316   AM_RANGE(0x20, 0x20) AM_WRITE(twincobr_coin_w)      /* Twin Cobra coin count-lockout */
317317   AM_RANGE(0x40, 0x40) AM_READ_PORT("DSWA")
r22803r22804
552552   m_audiocpu->set_input_line(0, state);
553553}
554554
555static const ym3812_interface ym3812_config =
556{
557   DEVCB_DRIVER_LINE_MEMBER(twincobr_state,irqhandler)
558};
559555
560556
561
562557static MACHINE_CONFIG_START( twincobr, twincobr_state )
563558
564559   /* basic machine hardware */
r22803r22804
599594   MCFG_SPEAKER_STANDARD_MONO("mono")
600595
601596   MCFG_SOUND_ADD("ymsnd", YM3812, XTAL_28MHz/8)
602   MCFG_SOUND_CONFIG(ym3812_config)
597   MCFG_YM3812_IRQ_HANDLER(WRITELINE(twincobr_state, irqhandler))
603598   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
604599MACHINE_CONFIG_END
605600
trunk/src/mame/drivers/sauro.c
r22803r22804
202202static ADDRESS_MAP_START( sauro_sound_map, AS_PROGRAM, 8, sauro_state )
203203   AM_RANGE(0x0000, 0x7fff) AM_ROM
204204   AM_RANGE(0x8000, 0x87ff) AM_RAM
205   AM_RANGE(0xc000, 0xc001) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
205   AM_RANGE(0xc000, 0xc001) AM_DEVWRITE("ymsnd", ym3812_device, write)
206206   AM_RANGE(0xa000, 0xa000) AM_WRITE(adpcm_w)
207207   AM_RANGE(0xe000, 0xe000) AM_READ(sauro_sound_command_r)
208208   AM_RANGE(0xe000, 0xe006) AM_WRITENOP    /* echo from write to e0000 */
r22803r22804
220220   AM_RANGE(0xf808, 0xf808) AM_READ_PORT("DSW2")
221221   AM_RANGE(0xf810, 0xf810) AM_READ_PORT("P1")
222222   AM_RANGE(0xf818, 0xf818) AM_READ_PORT("P2")
223   AM_RANGE(0xf820, 0xf821) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
223   AM_RANGE(0xf820, 0xf821) AM_DEVWRITE("ymsnd", ym3812_device, write)
224224   AM_RANGE(0xf828, 0xf828) AM_READ(watchdog_reset_r)
225225   AM_RANGE(0xf830, 0xf830) AM_WRITE(tecfri_scroll_bg_w)
226226   AM_RANGE(0xf838, 0xf838) AM_WRITENOP                /* only written at startup */
trunk/src/mame/drivers/battlnts.c
r22803r22804
7878static ADDRESS_MAP_START( battlnts_sound_map, AS_PROGRAM, 8, battlnts_state )
7979   AM_RANGE(0x0000, 0x7fff) AM_ROM                         /* ROM 777c01.rom */
8080   AM_RANGE(0x8000, 0x87ff) AM_RAM                         /* RAM */
81   AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE_LEGACY("ym1", ym3812_r, ym3812_w)      /* YM3812 (chip 1) */
82   AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ym2", ym3812_r, ym3812_w)      /* YM3812 (chip 2) */
81   AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE("ym1", ym3812_device, read, write)      /* YM3812 (chip 1) */
82   AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE("ym2", ym3812_device, read, write)      /* YM3812 (chip 2) */
8383   AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_byte_r)         /* soundlatch_byte_r */
8484ADDRESS_MAP_END
8585
trunk/src/mame/audio/seibu.c
r22803r22804
445445
446446/***************************************************************************/
447447
448const ym3812_interface seibu_ym3812_interface =
449{
450   DEVCB_LINE(seibu_ym3812_irqhandler)
451};
452
453448const ay8910_interface seibu_ay8910_config =
454449{
455450   AY8910_LEGACY_OUTPUT,
r22803r22804
467462   AM_RANGE(0x4002, 0x4002) AM_WRITE_LEGACY(seibu_rst10_ack_w)
468463   AM_RANGE(0x4003, 0x4003) AM_WRITE_LEGACY(seibu_rst18_ack_w)
469464   AM_RANGE(0x4007, 0x4007) AM_WRITE_LEGACY(seibu_bank_w)
470   AM_RANGE(0x4008, 0x4009) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
465   AM_RANGE(0x4008, 0x4009) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
471466   AM_RANGE(0x4010, 0x4011) AM_READ_LEGACY(seibu_soundlatch_r)
472467   AM_RANGE(0x4012, 0x4012) AM_READ_LEGACY(seibu_main_data_pending_r)
473468   AM_RANGE(0x4013, 0x4013) AM_READ_PORT("COIN")
r22803r22804
541536   AM_RANGE(0x4001, 0x4001) AM_WRITE_LEGACY(seibu_irq_clear_w)
542537   AM_RANGE(0x4002, 0x4002) AM_WRITE_LEGACY(seibu_rst10_ack_w)
543538   AM_RANGE(0x4003, 0x4003) AM_WRITE_LEGACY(seibu_rst18_ack_w)
544   AM_RANGE(0x4008, 0x4009) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
539   AM_RANGE(0x4008, 0x4009) AM_DEVREADWRITE("ymsnd", ym3812_device, read, write)
545540   AM_RANGE(0x4010, 0x4011) AM_READ_LEGACY(seibu_soundlatch_r)
546541   AM_RANGE(0x4012, 0x4012) AM_READ_LEGACY(seibu_main_data_pending_r)
547542   AM_RANGE(0x4013, 0x4013) AM_READ_PORT("COIN")
trunk/src/mame/audio/seibu.h
r22803r22804
8787extern const device_type SEIBU_ADPCM;
8888
8989
90extern const ym3812_interface seibu_ym3812_interface;
9190extern const ay8910_interface seibu_ay8910_config;
9291
9392struct seibu_adpcm_interface
r22803r22804
139138   MCFG_SPEAKER_STANDARD_MONO("mono")                              \
140139                                                   \
141140   MCFG_SOUND_ADD("ymsnd", YM3812, freq1)                              \
142   MCFG_SOUND_CONFIG(seibu_ym3812_interface)                      \
141   MCFG_YM2151_IRQ_HANDLER(WRITELINE(driver_device, member_wrapper_line<seibu_ym3812_irqhandler>)) \
143142   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)                      \
144143                                                   \
145144   MCFG_OKIM6295_ADD("oki", freq2, OKIM6295_PIN7_LOW)              \
r22803r22804
148147   MCFG_SPEAKER_STANDARD_MONO("mono")                              \
149148                                                   \
150149   MCFG_SOUND_ADD("ymsnd", YM3812, freq1)                              \
151   MCFG_SOUND_CONFIG(seibu_ym3812_interface)                      \
150   MCFG_YM2151_IRQ_HANDLER(WRITELINE(driver_device, member_wrapper_line<seibu_ym3812_irqhandler>)) \
152151   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)                      \
153152                                                   \
154153   MCFG_OKIM6295_ADD("oki", freq2, OKIM6295_PIN7_HIGH)             \

Previous 199869 Revisions Next


© 1997-2024 The MAME Team