Previous 199869 Revisions Next

r20876 Saturday 9th February, 2013 at 17:14:27 UTC by Andrew Gardner
Reverted x1_010 modernization. (nw)
I don't have the time between now and Monday to figure this one out.
(This doesn't undo any changes done by other modernizations)
[src/emu/sound]x1_010.c x1_010.h
[src/mame/drivers]champbwl.c seta.c seta2.c
[src/mame/video]seta.c

trunk/src/emu/sound/x1_010.c
r20875r20876
5151#include "emu.h"
5252#include "x1_010.h"
5353
54
5455#define VERBOSE_SOUND 0
5556#define VERBOSE_REGISTER_WRITE 0
5657#define VERBOSE_REGISTER_READ 0
r20875r20876
5960#define LOG_REGISTER_WRITE(x) do { if (VERBOSE_REGISTER_WRITE) logerror x; } while (0)
6061#define LOG_REGISTER_READ(x) do { if (VERBOSE_REGISTER_READ) logerror x; } while (0)
6162
63#define SETA_NUM_CHANNELS 16
64
6265#define FREQ_BASE_BITS        8                 // Frequency fixed decimal shift bits
6366#define ENV_BASE_BITS        16                 // wave form envelope fixed decimal shift bits
64#define VOL_BASE    (2*32*256/30)               // Volume base
67#define VOL_BASE    (2*32*256/30)                   // Volume base
6568
6669/* this structure defines the parameters for a channel */
6770struct X1_010_CHANNEL {
r20875r20876
7477   unsigned char   reserve[2];
7578};
7679
77/* mixer tables and internal buffers */
78//static short  *mixer_buffer = NULL;
79
80
81// device type definition
82const device_type X1_010 = &device_creator<x1_010_device>;
83
84
85//**************************************************************************
86//  LIVE DEVICE
87//**************************************************************************
88
89//-------------------------------------------------
90//  x1_010_device - constructor
91//-------------------------------------------------
92
93x1_010_device::x1_010_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
94   : device_t(mconfig, X1_010, "X1-010", tag, owner, clock),
95     device_sound_interface(mconfig, *this),
96     m_rate(0),
97     m_stream(NULL),
98     m_address(0),
99     m_region(NULL),
100     m_sound_enable(0),
101     m_base_clock(0)
80struct x1_010_state
10281{
103}
82   /* Variables only used here */
83   int rate;                               // Output sampling rate (Hz)
84   sound_stream *  stream;                 // Stream handle
85   int address;                            // address eor data
86   const UINT8 *region;                    // region name
87   int sound_enable;                       // sound output enable/disable
88   UINT8   reg[0x2000];                // X1-010 Register & wave form area
89   UINT8   HI_WORD_BUF[0x2000];            // X1-010 16bit access ram check avoidance work
90   UINT32  smp_offset[SETA_NUM_CHANNELS];
91   UINT32  env_offset[SETA_NUM_CHANNELS];
10492
93   UINT32 base_clock;
94};
10595
106//-------------------------------------------------
107//  device_start - device-specific startup
108//-------------------------------------------------
96/* mixer tables and internal buffers */
97//static short  *mixer_buffer = NULL;
10998
110void x1_010_device::device_start()
99INLINE x1_010_state *get_safe_token(device_t *device)
111100{
112   int i;
113   const x1_010_interface *intf = (const x1_010_interface *)static_config();
114
115   m_region        = *region();
116   m_base_clock    = clock();
117   m_rate          = clock() / 1024;
118   m_address       = intf->adr;
119
120   for( i = 0; i < SETA_NUM_CHANNELS; i++ ) {
121      m_smp_offset[i] = 0;
122      m_env_offset[i] = 0;
123   }
124   /* Print some more debug info */
125   LOG_SOUND(("masterclock = %d rate = %d\n", clock(), m_rate ));
126
127   /* get stream channels */
128   m_stream = stream_alloc(0, 2, m_rate);
101   assert(device != NULL);
102   assert(device->type() == X1_010);
103   return (x1_010_state *)downcast<x1_010_device *>(device)->token();
129104}
130105
131106
132//-------------------------------------------------
133//  sound_stream_update - handle a stream update
134//-------------------------------------------------
135
136void x1_010_device::sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples)
107/*--------------------------------------------------------------
108 generate sound to the mix buffer
109--------------------------------------------------------------*/
110static STREAM_UPDATE( seta_update )
137111{
112   x1_010_state *info = (x1_010_state *)param;
138113   X1_010_CHANNEL  *reg;
139114   int     ch, i, volL, volR, freq;
140115   register INT8   *start, *end, data;
141116   register UINT8  *env;
142117   register UINT32 smp_offs, smp_step, env_offs, env_step, delta;
143   const UINT8 *snd1 = m_region;
118   const UINT8 *snd1 = info->region;
144119
145120   // mixer buffer zero clear
146121   memset( outputs[0], 0, samples*sizeof(*outputs[0]) );
147122   memset( outputs[1], 0, samples*sizeof(*outputs[1]) );
148123
149//  if( m_sound_enable == 0 ) return;
124//  if( info->sound_enable == 0 ) return;
150125
151126   for( ch = 0; ch < SETA_NUM_CHANNELS; ch++ ) {
152      reg = (X1_010_CHANNEL *)&(m_reg[ch*sizeof(X1_010_CHANNEL)]);
127      reg = (X1_010_CHANNEL *)&(info->reg[ch*sizeof(X1_010_CHANNEL)]);
153128      if( (reg->status&1) != 0 ) {                            // Key On
154129         stream_sample_t *bufL = outputs[0];
155130         stream_sample_t *bufR = outputs[1];
r20875r20876
158133            end      = (INT8 *)((0x100-reg->end)*0x1000+snd1);
159134            volL     = ((reg->volume>>4)&0xf)*VOL_BASE;
160135            volR     = ((reg->volume>>0)&0xf)*VOL_BASE;
161            smp_offs = m_smp_offset[ch];
136            smp_offs = info->smp_offset[ch];
162137            freq     = reg->frequency&0x1f;
163138            // Meta Fox does not write the frequency register. Ever
164139            if( freq == 0 ) freq = 4;
165            smp_step = (UINT32)((float)m_base_clock/8192.0
166                     *freq*(1<<FREQ_BASE_BITS)/(float)m_rate);
140            smp_step = (UINT32)((float)info->base_clock/8192.0
141                     *freq*(1<<FREQ_BASE_BITS)/(float)info->rate);
167142            if( smp_offs == 0 ) {
168143               LOG_SOUND(( "Play sample %p - %p, channel %X volume %d:%d freq %X step %X offset %X\n",
169144                  start, end, ch, volL, volR, freq, smp_step, smp_offs ));
r20875r20876
180155               *bufR++ += (data*volR/256);
181156               smp_offs += smp_step;
182157            }
183            m_smp_offset[ch] = smp_offs;
158            info->smp_offset[ch] = smp_offs;
184159         } else {                                            // Wave form
185            start    = (INT8 *)&(m_reg[reg->volume*128+0x1000]);
186            smp_offs = m_smp_offset[ch];
160            start    = (INT8 *)&(info->reg[reg->volume*128+0x1000]);
161            smp_offs = info->smp_offset[ch];
187162            freq     = (reg->pitch_hi<<8)+reg->frequency;
188            smp_step = (UINT32)((float)m_base_clock/128.0/1024.0/4.0*freq*(1<<FREQ_BASE_BITS)/(float)m_rate);
163            smp_step = (UINT32)((float)info->base_clock/128.0/1024.0/4.0*freq*(1<<FREQ_BASE_BITS)/(float)info->rate);
189164
190            env      = (UINT8 *)&(m_reg[reg->end*128]);
191            env_offs = m_env_offset[ch];
192            env_step = (UINT32)((float)m_base_clock/128.0/1024.0/4.0*reg->start*(1<<ENV_BASE_BITS)/(float)m_rate);
165            env      = (UINT8 *)&(info->reg[reg->end*128]);
166            env_offs = info->env_offset[ch];
167            env_step = (UINT32)((float)info->base_clock/128.0/1024.0/4.0*reg->start*(1<<ENV_BASE_BITS)/(float)info->rate);
193168            /* Print some more debug info */
194169            if( smp_offs == 0 ) {
195170               LOG_SOUND(( "Play waveform %X, channel %X volume %X freq %4X step %X offset %X\n",
r20875r20876
212187               smp_offs += smp_step;
213188               env_offs += env_step;
214189            }
215            m_smp_offset[ch] = smp_offs;
216            m_env_offset[ch] = env_offs;
190            info->smp_offset[ch] = smp_offs;
191            info->env_offset[ch] = env_offs;
217192         }
218193      }
219194   }
220195}
221196
222197
223void x1_010_device::seta_sound_enable_w(int data)
198
199static DEVICE_START( x1_010 )
224200{
225   m_sound_enable = data;
201   int i;
202   const x1_010_interface *intf = (const x1_010_interface *)device->static_config();
203   x1_010_state *info = get_safe_token(device);
204
205   info->region        = *device->region();
206   info->base_clock    = device->clock();
207   info->rate          = device->clock() / 1024;
208   info->address       = intf->adr;
209
210   for( i = 0; i < SETA_NUM_CHANNELS; i++ ) {
211      info->smp_offset[i] = 0;
212      info->env_offset[i] = 0;
213   }
214   /* Print some more debug info */
215   LOG_SOUND(("masterclock = %d rate = %d\n", device->clock(), info->rate ));
216
217   /* get stream channels */
218   info->stream = device->machine().sound().stream_alloc(*device,0,2,info->rate,info,seta_update);
226219}
227220
228221
229//
230// Use these for 8 bit CPUs
231//
232READ8_MEMBER( x1_010_device::seta_sound_r )
222void seta_sound_enable_w(device_t *device, int data)
233223{
234   offset ^= m_address;
235   return m_reg[offset];
224   x1_010_state *info = get_safe_token(device);
225   info->sound_enable = data;
236226}
237227
238228
239WRITE8_MEMBER( x1_010_device::seta_sound_w )
229
230/* Use these for 8 bit CPUs */
231
232
233READ8_DEVICE_HANDLER( seta_sound_r )
240234{
235   x1_010_state *info = get_safe_token(device);
236   offset ^= info->address;
237   return info->reg[offset];
238}
239
240
241
242
243WRITE8_DEVICE_HANDLER( seta_sound_w )
244{
245   x1_010_state *info = get_safe_token(device);
241246   int channel, reg;
242   offset ^= m_address;
247   offset ^= info->address;
243248
244249   channel = offset/sizeof(X1_010_CHANNEL);
245250   reg     = offset%sizeof(X1_010_CHANNEL);
246251
247252   if( channel < SETA_NUM_CHANNELS && reg == 0
248      && (m_reg[offset]&1) == 0 && (data&1) != 0 ) {
249      m_smp_offset[channel] = 0;
250      m_env_offset[channel] = 0;
253      && (info->reg[offset]&1) == 0 && (data&1) != 0 ) {
254      info->smp_offset[channel] = 0;
255      info->env_offset[channel] = 0;
251256   }
252   LOG_REGISTER_WRITE(("%s: offset %6X : data %2X\n", machine().describe_context(), offset, data ));
253   m_reg[offset] = data;
257   LOG_REGISTER_WRITE(("%s: offset %6X : data %2X\n", device->machine().describe_context(), offset, data ));
258   info->reg[offset] = data;
254259}
255260
256261
257//
258// Use these for 16 bit CPUs
259//
260READ16_MEMBER( x1_010_device::seta_sound_word_r )
262
263
264/* Use these for 16 bit CPUs */
265
266READ16_DEVICE_HANDLER( seta_sound_word_r )
261267{
268   x1_010_state *info = get_safe_token(device);
262269   UINT16  ret;
263   ret = m_HI_WORD_BUF[offset]<<8;
264   ret += (seta_sound_r( space, offset )&0xff);
265   LOG_REGISTER_READ(( "%s: Read X1-010 Offset:%04X Data:%04X\n", machine().describe_context(), offset, ret ));
270
271   ret = info->HI_WORD_BUF[offset]<<8;
272   ret += (seta_sound_r( device, space, offset )&0xff);
273   LOG_REGISTER_READ(( "%s: Read X1-010 Offset:%04X Data:%04X\n", device->machine().describe_context(), offset, ret ));
266274   return ret;
267275}
268276
269WRITE16_MEMBER( x1_010_device::seta_sound_word_w )
277WRITE16_DEVICE_HANDLER( seta_sound_word_w )
270278{
271   m_HI_WORD_BUF[offset] = (data>>8)&0xff;
272   seta_sound_w( space, offset, data&0xff );
273   LOG_REGISTER_WRITE(( "%s: Write X1-010 Offset:%04X Data:%04X\n", machine().describe_context(), offset, data ));
279   x1_010_state *info = get_safe_token(device);
280   info->HI_WORD_BUF[offset] = (data>>8)&0xff;
281   seta_sound_w( device, space, offset, data&0xff );
282   LOG_REGISTER_WRITE(( "%s: Write X1-010 Offset:%04X Data:%04X\n", device->machine().describe_context(), offset, data ));
274283}
284
285
286const device_type X1_010 = &device_creator<x1_010_device>;
287
288x1_010_device::x1_010_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
289   : device_t(mconfig, X1_010, "X1-010", tag, owner, clock),
290      device_sound_interface(mconfig, *this)
291{
292   m_token = global_alloc_clear(x1_010_state);
293}
294
295//-------------------------------------------------
296//  device_config_complete - perform any
297//  operations now that the configuration is
298//  complete
299//-------------------------------------------------
300
301void x1_010_device::device_config_complete()
302{
303}
304
305//-------------------------------------------------
306//  device_start - device-specific startup
307//-------------------------------------------------
308
309void x1_010_device::device_start()
310{
311   DEVICE_START_NAME( x1_010 )(this);
312}
313
314//-------------------------------------------------
315//  sound_stream_update - handle a stream update
316//-------------------------------------------------
317
318void x1_010_device::sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples)
319{
320   // should never get here
321   fatalerror("sound_stream_update called; not applicable to legacy sound devices\n");
322}
trunk/src/emu/sound/x1_010.h
r20875r20876
33#ifndef __X1_010_H__
44#define __X1_010_H__
55
6#define SETA_NUM_CHANNELS 16
6#include "devlegcy.h"
77
88
9//**************************************************************************
10//  INTERFACE CONFIGURATION MACROS
11//**************************************************************************
12
13#define MCFG_X1_010_ADD(_tag, _clock) \
14   MCFG_DEVICE_ADD(_tag, X1_010, _clock)
15#define MCFG_X1_010_REPLACE(_tag, _clock) \
16   MCFG_DEVICE_REPLACE(_tag, X1_010, _clock)
17
18
19//**************************************************************************
20//  TYPE DEFINITIONS
21//**************************************************************************
22
239struct x1_010_interface
2410{
2511   int adr;    /* address */
2612};
2713
2814
29// ======================> x1_010_device
15DECLARE_READ8_DEVICE_HANDLER ( seta_sound_r );
16DECLARE_WRITE8_DEVICE_HANDLER( seta_sound_w );
3017
18DECLARE_READ16_DEVICE_HANDLER ( seta_sound_word_r );
19DECLARE_WRITE16_DEVICE_HANDLER( seta_sound_word_w );
20
21void seta_sound_enable_w(device_t *device, int data);
22
3123class x1_010_device : public device_t,
32                 public device_sound_interface
24                           public device_sound_interface
3325{
3426public:
3527   x1_010_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
36   ~x1_010_device() { }
28   ~x1_010_device() { global_free(m_token); }
3729
38    void seta_sound_enable_w(int data);
39
30   // access to legacy token
31   void *token() const { assert(m_token != NULL); return m_token; }
4032protected:
4133   // device-level overrides
34   virtual void device_config_complete();
4235   virtual void device_start();
4336
4437   // sound stream update overrides
4538   virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples);
46
47public:
48   DECLARE_READ8_MEMBER( seta_sound_r );
49   DECLARE_WRITE8_MEMBER( seta_sound_w );
50
51   DECLARE_READ16_MEMBER( seta_sound_word_r );
52   DECLARE_WRITE16_MEMBER( seta_sound_word_w );
53
5439private:
55   int m_rate;                               // Output sampling rate (Hz)
56   sound_stream *m_stream;                   // Stream handle
57   int m_address;                            // address eor data
58   const UINT8 *m_region;                    // region name
59   int m_sound_enable;                       // sound output enable/disable
60   UINT8   m_reg[0x2000];                    // X1-010 Register & wave form area
61   UINT8   m_HI_WORD_BUF[0x2000];            // X1-010 16bit access ram check avoidance work
62   UINT32  m_smp_offset[SETA_NUM_CHANNELS];
63   UINT32  m_env_offset[SETA_NUM_CHANNELS];
64
65   UINT32 m_base_clock;
40   // internal state
41   void *m_token;
6642};
6743
6844extern const device_type X1_010;
trunk/src/mame/video/seta.c
r20875r20876
266266        ---- ---- ---- ---0     Coin #0 Counter     */
267267         if (ACCESSING_BITS_0_7)
268268         {
269            x1_010_device *x1_010 = machine().device<x1_010_device>("x1snd");
269            device_t *x1_010 = machine().device("x1snd");
270270            seta_coin_lockout_w (machine(), data & 0x0f);
271271            if (x1_010 != NULL)
272               x1_010->seta_sound_enable_w (data & 0x20);
272               seta_sound_enable_w (x1_010, data & 0x20);
273273            coin_counter_w(machine(), 0,data & 0x01);
274274            coin_counter_w(machine(), 1,data & 0x02);
275275         }
trunk/src/mame/drivers/seta.c
r20875r20876
16541654
16551655static ADDRESS_MAP_START( downtown_map, AS_PROGRAM, 16, seta_state )
16561656   AM_RANGE(0x000000, 0x09ffff) AM_ROM                             // ROM
1657   AM_RANGE(0x100000, 0x103fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
1657   AM_RANGE(0x100000, 0x103fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
16581658   AM_RANGE(0x200000, 0x200001) AM_NOP                             // watchdog? (twineagl)
16591659   AM_RANGE(0x300000, 0x300001) AM_WRITENOP                        // IRQ enable/acknowledge?
16601660   AM_RANGE(0x400000, 0x400007) AM_WRITE(twineagl_tilebank_w)      // special tile banking to animate water in twineagl
r20875r20876
18231823static ADDRESS_MAP_START( atehate_map, AS_PROGRAM, 16, seta_state )
18241824   AM_RANGE(0x000000, 0x0fffff) AM_ROM                             // ROM
18251825   AM_RANGE(0x900000, 0x9fffff) AM_RAM                             // RAM
1826   AM_RANGE(0x100000, 0x103fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
1826   AM_RANGE(0x100000, 0x103fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
18271827   AM_RANGE(0x200000, 0x200001) AM_WRITENOP                        // ? watchdog ?
18281828   AM_RANGE(0x300000, 0x300001) AM_WRITENOP                        // ? 0 (irq ack lev 2?)
18291829   AM_RANGE(0x500000, 0x500001) AM_WRITENOP                        // ? (end of lev 1: bit 4 goes 1,0,1)
r20875r20876
18661866   AM_RANGE(0xb04000, 0xb0ffff) AM_RAM                             // (jjsquawk)
18671867   AM_RANGE(0xb80000, 0xb83fff) AM_RAM_WRITE(seta_vram_2_w) AM_SHARE("vram_2") // VRAM 2&3
18681868   AM_RANGE(0xb84000, 0xb8ffff) AM_RAM                             // (jjsquawk)
1869   AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
1869   AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
18701870   AM_RANGE(0xd00000, 0xd00007) AM_WRITENOP                        // ?
18711871   AM_RANGE(0xe00000, 0xe00001) AM_WRITENOP                        // ? VBlank IRQ Ack
18721872   AM_RANGE(0xf00000, 0xf00001) AM_WRITENOP                        // ? Sound  IRQ Ack
r20875r20876
19011901   AM_RANGE(0xa00600, 0xa00607) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritectrl_r16, spritectrl_w16)
19021902/**/AM_RANGE(0xa80000, 0xa80001) AM_RAM                             // ? 0x4000
19031903   AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritecode_r16, spritecode_w16)     // Sprites Code + X + Attr
1904   AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
1904   AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
19051905   AM_RANGE(0xd00000, 0xd00007) AM_WRITENOP                        // ?
19061906   AM_RANGE(0xe00000, 0xe00001) AM_WRITENOP                        // ? VBlank IRQ Ack
19071907   AM_RANGE(0xf00000, 0xf00001) AM_WRITENOP                        // ? Sound  IRQ Ack
r20875r20876
19811981   AM_RANGE(0xa00600, 0xa00607) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritectrl_r16, spritectrl_w16)
19821982/**/AM_RANGE(0xa80000, 0xa80001) AM_RAM                             // ? 0x4000
19831983   AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritecode_r16, spritecode_w16)     // Sprites Code + X + Attr
1984   AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
1984   AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
19851985#if __uPD71054_TIMER
19861986   AM_RANGE(0xd00000, 0xd00007) AM_WRITE(timer_regs_w)             // ?
19871987#else
r20875r20876
20572057   AM_RANGE(0xa0a600, 0xa0a607) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritectrl_r16, spritectrl_w16)
20582058// AM_RANGE(0xa80000, 0xa80001) AM_RAM                              // ? 0x4000
20592059   AM_RANGE(0xb0c000, 0xb0ffff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritecode_r16, spritecode_w16)     // RZ: Sprites Code + X + Attr
2060   AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
2060   AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
20612061#if __uPD71054_TIMER
20622062   AM_RANGE(0xd00000, 0xd00007) AM_WRITE(timer_regs_w)             // ?
20632063#else
r20875r20876
20842084   //AM_RANGE(0x600000, 0x60000f) AM_READ(krzybowl_input_r     )   // P1
20852085   AM_RANGE(0x8000f0, 0x8000f1) AM_RAM                             // NVRAM
20862086   AM_RANGE(0x800100, 0x8001ff) AM_RAM                             // NVRAM
2087   AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
2087   AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
20882088   AM_RANGE(0xb00000, 0xb003ff) AM_RAM AM_SHARE("paletteram")  // Palette
20892089   AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritecode_r16, spritecode_w16)     // Sprites Code + X + Attr
20902090/**/AM_RANGE(0xd00000, 0xd00001) AM_RAM                             // ? 0x4000
r20875r20876
21652165   AM_RANGE(0x800100, 0x8001ff) AM_RAM                             // NVRAM
21662166   AM_RANGE(0x900000, 0x900001) AM_WRITENOP                        // ?
21672167   AM_RANGE(0x900002, 0x900003) AM_WRITE(keroppi_prize_w)          //
2168   AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
2168   AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
21692169   AM_RANGE(0xb00000, 0xb003ff) AM_RAM AM_SHARE("paletteram")  // Palette
21702170   AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritecode_r16, spritecode_w16)     // Sprites Code + X + Attr
21712171/**/AM_RANGE(0xd00000, 0xd00001) AM_RAM                             // ? 0x4000
r20875r20876
21962196   AM_RANGE(0x500000, 0x500001) AM_READ_PORT("P1")                 // P1
21972197   AM_RANGE(0x500002, 0x500003) AM_READ_PORT("P2")                 // P2
21982198   AM_RANGE(0x500004, 0x500005) AM_READ_PORT("COINS")              // Coins
2199   AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
2199   AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
22002200   AM_RANGE(0xb00000, 0xb003ff) AM_RAM AM_SHARE("paletteram")  // Palette
22012201   AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritecode_r16, spritecode_w16) // Sprites Code + X + Attr
22022202/**/AM_RANGE(0xd00000, 0xd00001) AM_RAM // ? 0x4000
r20875r20876
22332233   AM_RANGE(0xa80000, 0xa80001) AM_RAM // ? 0x4000
22342234   AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritecode_r16, spritecode_w16) // Sprites Code + X + Attr
22352235   AM_RANGE(0xb04000, 0xb13fff) AM_RAM
2236   AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
2236   AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
22372237   AM_RANGE(0xe00000, 0xe00001) AM_WRITENOP    //
22382238ADDRESS_MAP_END
22392239
r20875r20876
22462246   AM_RANGE(0x000000, 0x0bffff) AM_ROM                             // ROM
22472247   AM_RANGE(0xf00000, 0xf0ffff) AM_RAM                             // RAM (qzkklogy)
22482248   AM_RANGE(0xffc000, 0xffffff) AM_RAM                             // RAM (drgnunit,stg)
2249   AM_RANGE(0x100000, 0x103fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
2249   AM_RANGE(0x100000, 0x103fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
22502250   AM_RANGE(0x200000, 0x200001) AM_WRITENOP                        // Watchdog
22512251   AM_RANGE(0x300000, 0x300001) AM_WRITENOP                        // ? IRQ Ack
22522252   AM_RANGE(0x500000, 0x500001) AM_RAM_WRITE(seta_vregs_w) AM_SHARE("vregs")   // Coin Lockout + Video Registers
r20875r20876
23642364/**/AM_RANGE(0xa80000, 0xa80001) AM_RAM                             // ? 0x4000
23652365   AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritecode_r16, spritecode_w16)     // Sprites Code + X + Attr
23662366   AM_RANGE(0xb04000, 0xb13fff) AM_RAM                             //
2367   AM_RANGE(0xe00000, 0xe03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
2367   AM_RANGE(0xe00000, 0xe03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
23682368ADDRESS_MAP_END
23692369
23702370
r20875r20876
24012401#else
24022402   AM_RANGE(0xc00000, 0xc00007) AM_WRITENOP                        // ?
24032403#endif
2404   AM_RANGE(0xd00000, 0xd03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
2404   AM_RANGE(0xd00000, 0xd03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
24052405ADDRESS_MAP_END
24062406
24072407/* almost identical to kamenrid */
r20875r20876
24302430#else
24312431   AM_RANGE(0xc00000, 0xc00007) AM_WRITENOP                        // ?
24322432#endif
2433   AM_RANGE(0xd00000, 0xd03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
2433   AM_RANGE(0xd00000, 0xd03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
24342434ADDRESS_MAP_END
24352435
24362436
r20875r20876
24772477#else
24782478   AM_RANGE(0xc00000, 0xc00007) AM_WRITENOP                        // ?
24792479#endif
2480   AM_RANGE(0xd00000, 0xd03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
2480   AM_RANGE(0xd00000, 0xd03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
24812481ADDRESS_MAP_END
24822482
24832483
r20875r20876
25222522   AM_RANGE(0x600000, 0x60000f) AM_READ(krzybowl_input_r)          // P1
25232523   AM_RANGE(0x8000f0, 0x8000f1) AM_RAM                             // NVRAM
25242524   AM_RANGE(0x800100, 0x8001ff) AM_RAM                             // NVRAM
2525   AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
2525   AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
25262526   AM_RANGE(0xb00000, 0xb003ff) AM_RAM AM_SHARE("paletteram")  // Palette
25272527   AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritecode_r16, spritecode_w16)     // Sprites Code + X + Attr
25282528/**/AM_RANGE(0xd00000, 0xd00001) AM_RAM                             // ? 0x4000
r20875r20876
25682568   AM_RANGE(0xa80000, 0xa83fff) AM_RAM_WRITE(seta_vram_2_w) AM_SHARE("vram_2") // VRAM 2&3
25692569   AM_RANGE(0xb00000, 0xb00005) AM_RAM AM_SHARE("vctrl_0")     // VRAM 0&1 Ctrl
25702570   AM_RANGE(0xb80000, 0xb80005) AM_RAM AM_SHARE("vctrl_2")     // VRAM 2&3 Ctrl
2571   AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
2571   AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
25722572#if __uPD71054_TIMER
25732573   AM_RANGE(0xd00000, 0xd00007) AM_WRITE(timer_regs_w) // ?
25742574#else
r20875r20876
25922592   AM_RANGE(0x400004, 0x400005) AM_READ_PORT("COINS")              // Coins
25932593   AM_RANGE(0x400000, 0x400001) AM_WRITENOP                        // ? IRQ Ack
25942594   AM_RANGE(0x500000, 0x500005) AM_RAM_WRITE(seta_vregs_w) AM_SHARE("vregs")   // Coin Lockout + Video Registers
2595   AM_RANGE(0x700000, 0x703fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
2595   AM_RANGE(0x700000, 0x703fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
25962596   AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(seta_vram_0_w) AM_SHARE("vram_0") // VRAM 0&1
25972597   AM_RANGE(0x880000, 0x883fff) AM_RAM_WRITE(seta_vram_2_w) AM_SHARE("vram_2") // VRAM 2&3
25982598/**/AM_RANGE(0x900000, 0x900005) AM_RAM AM_SHARE("vctrl_0")     // VRAM 0&1 Ctrl
r20875r20876
26832683/**/AM_RANGE(0xa00000, 0xa005ff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spriteylow_r16, spriteylow_w16)     // Sprites Y
26842684   AM_RANGE(0xa00600, 0xa00607) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritectrl_r16, spritectrl_w16)
26852685   AM_RANGE(0xb00000, 0xb003ff) AM_RAM AM_SHARE("paletteram")  // Palette
2686   AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
2686   AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
26872687   AM_RANGE(0xd00000, 0xd00009) AM_READ(kiwame_input_r)            // mahjong panel
26882688   AM_RANGE(0xe00000, 0xe00003) AM_READ(seta_dsw_r)                // DSW
26892689ADDRESS_MAP_END
r20875r20876
27082708static ADDRESS_MAP_START( thunderl_map, AS_PROGRAM, 16, seta_state )
27092709   AM_RANGE(0x000000, 0x00ffff) AM_ROM                             // ROM
27102710   AM_RANGE(0xffc000, 0xffffff) AM_RAM                             // RAM
2711   AM_RANGE(0x100000, 0x103fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
2711   AM_RANGE(0x100000, 0x103fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
27122712   AM_RANGE(0x200000, 0x200001) AM_WRITENOP                        // ?
27132713   AM_RANGE(0x300000, 0x300001) AM_WRITENOP                        // ?
27142714   AM_RANGE(0x400000, 0x40ffff) AM_WRITE(thunderl_protection_w)    // Protection (not in wits)
r20875r20876
27322732static ADDRESS_MAP_START( thunderlbl_map, AS_PROGRAM, 16, seta_state )
27332733   AM_RANGE(0x000000, 0x00ffff) AM_ROM                             // ROM
27342734   AM_RANGE(0xffc000, 0xffffff) AM_RAM                             // RAM
2735//  AM_RANGE(0x100000, 0x103fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)  // Sound
2735//  AM_RANGE(0x100000, 0x103fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)  // Sound
27362736   AM_RANGE(0x200000, 0x200001) AM_WRITENOP                        // ?
27372737   AM_RANGE(0x300000, 0x300001) AM_WRITENOP                        // ?
27382738//  AM_RANGE(0x400000, 0x40ffff) AM_WRITE(thunderl_protection_w)    // Protection (not in wits)
r20875r20876
28182818   AM_RANGE(0xa00600, 0xa00607) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritectrl_r16, spritectrl_w16)
28192819/**/AM_RANGE(0xa80000, 0xa80001) AM_RAM                             // ? 0x4000
28202820   AM_RANGE(0xb00000, 0xb03fff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritecode_r16, spritecode_w16)     // Sprites Code + X + Attr
2821   AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
2821   AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
28222822ADDRESS_MAP_END
28232823
28242824
r20875r20876
28862886   AM_RANGE(0x500002, 0x500003) AM_READ_PORT("P2")                 // P2
28872887   AM_RANGE(0x500004, 0x500005) AM_READ_PORT("COINS")              // Coins
28882888   AM_RANGE(0x900000, 0x9001ff) AM_READWRITE(pairlove_prot_r,pairlove_prot_w)
2889   AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
2889   AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
28902890   AM_RANGE(0xb00000, 0xb00fff) AM_RAM AM_SHARE("paletteram")  // Palette
28912891   AM_RANGE(0xc00000, 0xc03fff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritecode_r16, spritecode_w16)     // Sprites Code + X + Attr
28922892   AM_RANGE(0xd00000, 0xd00001) AM_RAM                             // ? 0x4000
r20875r20876
29762976
29772977   AM_RANGE(0x800000, 0x80001f) AM_DEVREADWRITE8("rtc", msm6242_device, read, write, 0x00ff)
29782978
2979   AM_RANGE(0x900000, 0x903fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w       )   // Sound
2979   AM_RANGE(0x900000, 0x903fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r, seta_sound_word_w       )   // Sound
29802980
29812981   AM_RANGE(0xa00000, 0xa00005) AM_WRITEONLY AM_SHARE("vctrl_0")   // VRAM 0&1 Ctrl
29822982   AM_RANGE(0xb00000, 0xb03fff) AM_RAM_WRITE(seta_vram_0_w) AM_SHARE("vram_0") // VRAM 0&1
r20875r20876
30383038
30393039   AM_RANGE(0x800000, 0x80001f) AM_DEVREADWRITE8("rtc", msm6242_device, read, write, 0x00ff)
30403040
3041   AM_RANGE(0x900000, 0x903fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)  // Sound
3041   AM_RANGE(0x900000, 0x903fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r, seta_sound_word_w)  // Sound
30423042
30433043   AM_RANGE(0xa00000, 0xa00005) AM_WRITEONLY AM_SHARE("vctrl_0")   // VRAM 0&1 Ctrl
30443044   AM_RANGE(0xb00000, 0xb03fff) AM_RAM_WRITE(seta_vram_0_w) AM_SHARE("vram_0") // VRAM 0&1
r20875r20876
31773177}
31783178
31793179static ADDRESS_MAP_START( calibr50_sub_map, AS_PROGRAM, 8, seta_state )
3180   AM_RANGE(0x0000, 0x1fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_r, seta_sound_w) // Sound
3180   AM_RANGE(0x0000, 0x1fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_r,seta_sound_w) // Sound
31813181   AM_RANGE(0x4000, 0x4000) AM_READ(soundlatch_byte_r)             // From Main CPU
31823182   AM_RANGE(0x4000, 0x4000) AM_WRITE(sub_bankswitch_w)         // Bankswitching
31833183   AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank1")                        // Banked ROM
r20875r20876
32133213static ADDRESS_MAP_START( utoukond_sound_map, AS_PROGRAM, 8, seta_state )
32143214   AM_RANGE(0x0000, 0xdfff) AM_ROM
32153215   AM_RANGE(0xe000, 0xefff) AM_RAM
3216   AM_RANGE(0xf000, 0xffff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_r, seta_sound_w)
3216   AM_RANGE(0xf000, 0xffff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_r,seta_sound_w)
32173217ADDRESS_MAP_END
32183218
32193219static ADDRESS_MAP_START( utoukond_sound_io_map, AS_IO, 8, seta_state )
r20875r20876
75447544   /* sound hardware */
75457545   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
75467546
7547   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
7547   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
75487548   MCFG_SOUND_CONFIG(seta_sound_intf)
75497549   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
75507550   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
75857585
75867586   /* sound hardware */
75877587   MCFG_SPEAKER_STANDARD_MONO("mono")
7588   MCFG_X1_010_ADD("x1snd",  16000000)   /* 16 MHz */
7588   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
75897589   MCFG_SOUND_CONFIG(seta_sound_intf)
75907590   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
75917591MACHINE_CONFIG_END
r20875r20876
76457645   /* sound hardware */
76467646   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
76477647
7648   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
7648   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
76497649   MCFG_SOUND_CONFIG(seta_sound_intf2)
76507650   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
76517651   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
76927692
76937693   /* sound hardware */
76947694   MCFG_SPEAKER_STANDARD_MONO("mono")
7695   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
7695   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
76967696   MCFG_SOUND_CONFIG(seta_sound_intf2)
76977697   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
76987698MACHINE_CONFIG_END
r20875r20876
77337733   /* sound hardware */
77347734   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
77357735
7736   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
7736   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
77377737   MCFG_SOUND_CONFIG(seta_sound_intf)
77387738   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
77397739   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
77697769   /* sound hardware */
77707770   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
77717771
7772   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
7772   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
77737773   MCFG_SOUND_CONFIG(seta_sound_intf)
77747774   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
77757775   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
78137813   /* sound hardware */
78147814   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
78157815
7816   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
7816   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
78177817   MCFG_SOUND_CONFIG(seta_sound_intf)
78187818   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
78197819   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
78467846   /* sound hardware */
78477847   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
78487848
7849   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
7849   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
78507850   MCFG_SOUND_CONFIG(seta_sound_intf)
78517851   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
78527852   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
78827882   /* sound hardware */
78837883   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
78847884
7885   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
7885   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
78867886   MCFG_SOUND_CONFIG(seta_sound_intf)
78877887   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
78887888   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
79187918   /* sound hardware */
79197919   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
79207920
7921   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
7921   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
79227922   MCFG_SOUND_CONFIG(seta_sound_intf)
79237923   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
79247924   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
79607960   /* sound hardware */
79617961   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
79627962
7963   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
7963   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
79647964   MCFG_SOUND_CONFIG(seta_sound_intf)
79657965   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
79667966   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
79957995   /* sound hardware */
79967996   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
79977997
7998   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
7998   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
79997999   MCFG_SOUND_CONFIG(seta_sound_intf)
80008000   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
80018001   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
80468046   /* sound hardware */
80478047   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
80488048
8049   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
8049   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
80508050   MCFG_SOUND_CONFIG(seta_sound_intf)
80518051   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
80528052   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
80828082   /* sound hardware */
80838083   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
80848084
8085   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
8085   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
80868086   MCFG_SOUND_CONFIG(seta_sound_intf)
80878087   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
80888088   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
81248124   /* sound hardware */
81258125   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
81268126
8127   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
8127   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
81288128   MCFG_SOUND_CONFIG(seta_sound_intf)
81298129   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
81308130   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
81858185   /* sound hardware */
81868186   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
81878187
8188   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
8188   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
81898189   MCFG_SOUND_CONFIG(seta_sound_intf)
81908190   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
81918191   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
82268226   /* sound hardware */
82278227   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
82288228
8229   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
8229   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
82308230   MCFG_SOUND_CONFIG(seta_sound_intf)
82318231   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
82328232   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
82588258   /* sound hardware */
82598259   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
82608260
8261   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
8261   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
82628262   MCFG_SOUND_CONFIG(seta_sound_intf)
82638263   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
82648264   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
82988298   /* sound hardware */
82998299   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
83008300
8301   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
8301   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
83028302   MCFG_SOUND_CONFIG(seta_sound_intf)
83038303   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
83048304   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
83358335   /* sound hardware */
83368336   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
83378337
8338   MCFG_X1_010_ADD("x1snd", 14318180)   /* 14.318180 MHz */
8338   MCFG_SOUND_ADD("x1snd", X1_010, 14318180)   /* 14.318180 MHz */
83398339   MCFG_SOUND_CONFIG(seta_sound_intf)
83408340   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
83418341   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
83738373   /* sound hardware */
83748374   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
83758375
8376   MCFG_X1_010_ADD("x1snd", 14318180)   /* 14.318180 MHz */
8376   MCFG_SOUND_ADD("x1snd", X1_010, 14318180)   /* 14.318180 MHz */
83778377   MCFG_SOUND_CONFIG(seta_sound_intf)
83788378   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
83798379   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
84098409   /* sound hardware */
84108410   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
84118411
8412   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
8412   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
84138413   MCFG_SOUND_CONFIG(seta_sound_intf)
84148414   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
84158415   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
84528452   /* sound hardware */
84538453   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
84548454
8455   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
8455   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
84568456   MCFG_SOUND_CONFIG(seta_sound_intf)
84578457   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
84588458   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
84928492   /* sound hardware */
84938493   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
84948494
8495   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
8495   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
84968496   MCFG_SOUND_CONFIG(seta_sound_intf)
84978497   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
84988498   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
85398539   /* sound hardware */
85408540   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
85418541
8542   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
8542   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
85438543   MCFG_SOUND_CONFIG(seta_sound_intf)
85448544   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
85458545   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
85768576   /* sound hardware */
85778577   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
85788578
8579   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
8579   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
85808580   MCFG_SOUND_CONFIG(seta_sound_intf)
85818581   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
85828582   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
86488648   /* sound hardware */
86498649   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
86508650
8651   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
8651   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
86528652   MCFG_SOUND_CONFIG(seta_sound_intf)
86538653   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
86548654   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
86878687   /* sound hardware */
86888688   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
86898689
8690   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
8690   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
86918691   MCFG_SOUND_CONFIG(seta_sound_intf)
86928692   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
86938693   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
87268726   /* sound hardware */
87278727   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
87288728
8729   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
8729   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
87308730   MCFG_SOUND_CONFIG(seta_sound_intf)
87318731   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
87328732   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
88318831   /* sound hardware */
88328832   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
88338833
8834   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
8834   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
88358835   MCFG_SOUND_CONFIG(seta_sound_intf)
88368836   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
88378837   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
88678867   /* sound hardware */
88688868   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
88698869
8870   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
8870   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
88718871   MCFG_SOUND_CONFIG(seta_sound_intf)
88728872   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
88738873   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
89078907   /* sound hardware */
89088908   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
89098909
8910   MCFG_X1_010_ADD("x1snd", 16000000)
8910   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)
89118911   MCFG_SOUND_CONFIG(seta_sound_intf)
89128912   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
89138913   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
89568956   /* sound hardware */
89578957   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
89588958
8959   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
8959   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
89608960   MCFG_SOUND_CONFIG(seta_sound_intf)
89618961   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
89628962   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
90009000   /* sound hardware */
90019001   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
90029002
9003   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
9003   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
90049004   MCFG_SOUND_CONFIG(seta_sound_intf)
90059005   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
90069006   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
90529052   /* sound hardware */
90539053   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
90549054
9055   MCFG_X1_010_ADD("x1snd", 16000000)   /* 16 MHz */
9055   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)   /* 16 MHz */
90569056   MCFG_SOUND_CONFIG(seta_sound_intf)
90579057   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
90589058   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
91969196   /* sound hardware */
91979197   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
91989198
9199   MCFG_X1_010_ADD("x1snd", 16000000)
9199   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)
92009200   MCFG_SOUND_CONFIG(seta_sound_intf)
92019201   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
92029202   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
trunk/src/mame/drivers/seta2.c
r20875r20876
161161   AM_RANGE(0x700004, 0x700005) AM_READ_PORT("SYSTEM")             // Coins
162162   AM_RANGE(0x70000c, 0x70000d) AM_READ(watchdog_reset16_r)        // Watchdog
163163   AM_RANGE(0x800000, 0x800001) AM_WRITE(grdians_lockout_w)
164   AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
164   AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
165165   AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_SHARE("spriteram")       // Sprites
166166   AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")    // Palette
167167   AM_RANGE(0xc50000, 0xc5ffff) AM_RAM                             // cleared
r20875r20876
203203   AM_RANGE(0x70000a, 0x70000b) AM_READ_PORT("IN1")                // P2
204204   AM_RANGE(0x70000c, 0x70000d) AM_WRITE(watchdog_reset16_w)
205205   AM_RANGE(0x800000, 0x800001) AM_WRITE(grdians_lockout_w)
206   AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
206   AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
207207   AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_SHARE("spriteram")   // Sprites
208208   AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")    // Palette
209209   AM_RANGE(0xc50000, 0xc5ffff) AM_RAM                             // cleared
r20875r20876
262262   AM_RANGE(0x600300, 0x600301) AM_READ_PORT("DSW1")               // DSW 1
263263   AM_RANGE(0x600302, 0x600303) AM_READ_PORT("DSW2")               // DSW 2
264264   AM_RANGE(0x600300, 0x60030f) AM_WRITE(seta2_sound_bank_w)       // Samples Banks
265   AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
265   AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
266266   AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_SHARE("spriteram")   // Sprites
267267   AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")    // Palette
268268   AM_RANGE(0xc60000, 0xc6003f) AM_WRITE(seta2_vregs_w) AM_SHARE("vregs")  // Video Registers
r20875r20876
285285   AM_RANGE(0x700300, 0x700301) AM_READ_PORT("DSW1")               // DSW 1
286286   AM_RANGE(0x700302, 0x700303) AM_READ_PORT("DSW2")               // DSW 2
287287   AM_RANGE(0x700310, 0x70031f) AM_WRITE(seta2_sound_bank_w)       // Samples Banks
288   AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
288   AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
289289   AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_SHARE("spriteram")       // Sprites
290290   AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")    // Palette
291291   AM_RANGE(0xc60000, 0xc6003f) AM_WRITE(seta2_vregs_w) AM_SHARE("vregs")              // Video Registers
r20875r20876
308308   AM_RANGE(0x600300, 0x600301) AM_READ_PORT("DSW1")               // DSW 1
309309   AM_RANGE(0x600302, 0x600303) AM_READ_PORT("DSW2")               // DSW 2
310310   AM_RANGE(0x600300, 0x60030f) AM_WRITE(seta2_sound_bank_w)       // Samples Banks
311   AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
311   AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
312312   AM_RANGE(0xd00000, 0xd3ffff) AM_RAM AM_SHARE("spriteram")       // Sprites
313313   AM_RANGE(0xd40000, 0xd4ffff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")    // Palette
314314   AM_RANGE(0xd60000, 0xd6003f) AM_WRITE(seta2_vregs_w) AM_SHARE("vregs")          // Video Registers
r20875r20876
356356   AM_RANGE(0x800000, 0x83ffff) AM_RAM AM_SHARE("spriteram")       // Sprites
357357   AM_RANGE(0x840000, 0x84ffff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")    // Palette
358358   AM_RANGE(0x860000, 0x86003f) AM_WRITE(seta2_vregs_w) AM_SHARE("vregs")              // Video Registers
359   AM_RANGE(0x900000, 0x903fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
359   AM_RANGE(0x900000, 0x903fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
360360   AM_RANGE(0xfffc00, 0xffffff) AM_READWRITE_LEGACY(tmp68301_regs_r, tmp68301_regs_w)      // TMP68301 Registers
361361ADDRESS_MAP_END
362362
r20875r20876
382382   AM_RANGE(0xb00000, 0xb3ffff) AM_RAM AM_SHARE("spriteram")       // Sprites
383383   AM_RANGE(0xb40000, 0xb4ffff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")    // Palette
384384   AM_RANGE(0xb60000, 0xb6003f) AM_WRITE(seta2_vregs_w) AM_SHARE("vregs")
385   AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
385   AM_RANGE(0xa00000, 0xa03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
386386   AM_RANGE(0xfffc00, 0xffffff) AM_READWRITE_LEGACY(tmp68301_regs_r, tmp68301_regs_w)      // TMP68301 Registers
387387ADDRESS_MAP_END
388388
r20875r20876
437437   AM_RANGE(0x400300, 0x400301) AM_READ_PORT("DSW1")               // DSW 1
438438   AM_RANGE(0x400302, 0x400303) AM_READ_PORT("DSW2")               // DSW 2
439439   AM_RANGE(0x400300, 0x40030f) AM_WRITE(seta2_sound_bank_w)       // Samples Banks
440   AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w)   // Sound
440   AM_RANGE(0xb00000, 0xb03fff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r,seta_sound_word_w)   // Sound
441441   AM_RANGE(0xc00000, 0xc3ffff) AM_RAM AM_SHARE("spriteram")       // Sprites
442442   AM_RANGE(0xc40000, 0xc4ffff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")    // Palette
443443   AM_RANGE(0xc60000, 0xc6003f) AM_WRITE(seta2_vregs_w) AM_SHARE("vregs")              // Video Registers
r20875r20876
499499   AM_RANGE( 0x840000, 0x84ffff ) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")  // Palette
500500   AM_RANGE( 0x860000, 0x86003f ) AM_WRITE(seta2_vregs_w) AM_SHARE("vregs")    // Video Registers
501501
502   AM_RANGE( 0x900000, 0x903fff ) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_word_r, seta_sound_word_w )   // Sound
502   AM_RANGE( 0x900000, 0x903fff ) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_word_r, seta_sound_word_w )   // Sound
503503
504504   AM_RANGE( 0xfffd0a, 0xfffd0b ) AM_READ_PORT("DSW2")             // parallel data register (DSW 2)
505505   AM_RANGE( 0xfffc00, 0xffffff ) AM_READWRITE_LEGACY(tmp68301_regs_r, tmp68301_regs_w)    // TMP68301 Registers
r20875r20876
20422042   // sound hardware
20432043   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
20442044
2045   MCFG_X1_010_ADD("x1snd", XTAL_50MHz/3)   // clock?
2045   MCFG_SOUND_ADD("x1snd", X1_010, XTAL_50MHz/3)   // clock?
20462046   MCFG_SOUND_CONFIG(x1_010_sound_intf)
20472047   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
20482048   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
trunk/src/mame/drivers/champbwl.c
r20875r20876
210210   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram")
211211   AM_RANGE(0xa000, 0xafff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritecodelow_r8, spritecodelow_w8)
212212   AM_RANGE(0xb000, 0xbfff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritecodehigh_r8, spritecodehigh_w8)
213   AM_RANGE(0xc000, 0xdfff) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_r, seta_sound_w)
213   AM_RANGE(0xc000, 0xdfff) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_r, seta_sound_w)
214214   AM_RANGE(0xe000, 0xe2ff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spriteylow_r8, spriteylow_w8)
215215   AM_RANGE(0xe300, 0xe303) AM_MIRROR(0xfc) AM_DEVWRITE_LEGACY("spritegen", spritectrl_w8) /* control registers (0x80 mirror used by Arkanoid 2) */
216216   AM_RANGE(0xe800, 0xe800) AM_DEVWRITE_LEGACY("spritegen", spritebgflag_w8)   /* enable / disable background transparency */
r20875r20876
249249   AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram")
250250   AM_RANGE(0xa000, 0xafff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritecodelow_r8, spritecodelow_w8)
251251   AM_RANGE(0xb000, 0xbfff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spritecodehigh_r8, spritecodehigh_w8)
252   AM_RANGE(0xc000, 0xc07f) AM_DEVREADWRITE("x1snd", x1_010_device, seta_sound_r, seta_sound_w) // Sound
252   AM_RANGE(0xc000, 0xc07f) AM_DEVREADWRITE_LEGACY("x1snd", seta_sound_r,seta_sound_w) // Sound
253253   AM_RANGE(0xe000, 0xe2ff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spriteylow_r8, spriteylow_w8)
254254   AM_RANGE(0xe300, 0xe303) AM_DEVWRITE_LEGACY("spritegen", spritectrl_w8)
255255   AM_RANGE(0xe800, 0xe800) AM_DEVWRITE_LEGACY("spritegen", spritebgflag_w8)   /* enable / disable background transparency */
r20875r20876
505505   /* sound hardware */
506506   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
507507
508   MCFG_X1_010_ADD("x1snd", 16000000)
508   MCFG_SOUND_ADD("x1snd", X1_010, 16000000)
509509   MCFG_SOUND_CONFIG(champbwl_sound_intf)
510510   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
511511   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
r20875r20876
567567
568568   /* sound hardware */
569569   MCFG_SPEAKER_STANDARD_MONO("mono")
570   MCFG_X1_010_ADD("x1snd", XTAL_14_31818MHz)
570   MCFG_SOUND_ADD("x1snd", X1_010, XTAL_14_31818MHz)
571571   MCFG_SOUND_CONFIG(champbwl_sound_intf)
572572   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
573573MACHINE_CONFIG_END

Previous 199869 Revisions Next


© 1997-2024 The MAME Team