summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/nmk16.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/nmk16.c')
-rw-r--r--src/mame/drivers/nmk16.c82
1 files changed, 39 insertions, 43 deletions
diff --git a/src/mame/drivers/nmk16.c b/src/mame/drivers/nmk16.c
index d61645e1ae4..d7d462a14b8 100644
--- a/src/mame/drivers/nmk16.c
+++ b/src/mame/drivers/nmk16.c
@@ -376,24 +376,23 @@ static ADDRESS_MAP_START( tharrier_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_READ(SMH_ROM)
AM_RANGE(0xc000, 0xc7ff) AM_READ(SMH_RAM)
AM_RANGE(0xf000, 0xf000) AM_READ(soundlatch_r)
- AM_RANGE(0xf400, 0xf400) AM_READ(okim6295_status_0_r)
- AM_RANGE(0xf500, 0xf500) AM_READ(okim6295_status_1_r)
+ AM_RANGE(0xf400, 0xf400) AM_DEVREAD(SOUND, "oki1", okim6295_r)
+ AM_RANGE(0xf500, 0xf500) AM_DEVREAD(SOUND, "oki2", okim6295_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( tharrier_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_WRITE(SMH_ROM)
AM_RANGE(0xc000, 0xc7ff) AM_WRITE(SMH_RAM)
AM_RANGE(0xf000, 0xf000) AM_WRITE(soundlatch2_w)
- AM_RANGE(0xf400, 0xf400) AM_WRITE(okim6295_data_0_w)
- AM_RANGE(0xf500, 0xf500) AM_WRITE(okim6295_data_1_w)
+ AM_RANGE(0xf400, 0xf400) AM_DEVWRITE(SOUND, "oki1", okim6295_w)
+ AM_RANGE(0xf500, 0xf500) AM_DEVWRITE(SOUND, "oki2", okim6295_w)
AM_RANGE(0xf600, 0xf600) AM_WRITE(tharrier_oki6295_bankswitch_0_w)
AM_RANGE(0xf700, 0xf700) AM_WRITE(tharrier_oki6295_bankswitch_1_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( tharrier_sound_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READWRITE(ym2203_status_port_0_r, ym2203_control_port_0_w)
- AM_RANGE(0x01, 0x01) AM_READWRITE(ym2203_read_port_0_r, ym2203_write_port_0_w)
+ AM_RANGE(0x00, 0x01) AM_DEVREADWRITE(SOUND, "ym", ym2203_r, ym2203_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( tharrier_readmem, ADDRESS_SPACE_PROGRAM, 16 )
@@ -1002,7 +1001,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( ssmissin_sound_readmem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_READ(SMH_ROM)
AM_RANGE(0x8000, 0x87ff) AM_READ(SMH_RAM)
- AM_RANGE(0x9800, 0x9800) AM_READ(okim6295_status_0_r)
+ AM_RANGE(0x9800, 0x9800) AM_DEVREAD(SOUND, "oki", okim6295_r)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
@@ -1010,7 +1009,7 @@ static ADDRESS_MAP_START( ssmissin_sound_writemem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_WRITE(SMH_ROM)
AM_RANGE(0x8000, 0x87ff) AM_WRITE(SMH_RAM)
AM_RANGE(0x9000, 0x9000) AM_WRITE(ssmissin_soundbank_w)
- AM_RANGE(0x9800, 0x9800) AM_WRITE(okim6295_data_0_w)
+ AM_RANGE(0x9800, 0x9800) AM_DEVWRITE(SOUND, "oki", okim6295_w)
ADDRESS_MAP_END
@@ -1150,10 +1149,9 @@ static WRITE8_HANDLER( raphero_sound_rombank_w )
static ADDRESS_MAP_START( raphero_sound_mem_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE( 0x0000, 0x7fff ) AM_ROM
AM_RANGE( 0x8000, 0xbfff ) AM_READ( SMH_BANK1 )
- AM_RANGE( 0xc000, 0xc000 ) AM_READWRITE( ym2203_status_port_0_r, ym2203_control_port_0_w )
- AM_RANGE( 0xc001, 0xc001 ) AM_READWRITE( ym2203_read_port_0_r, ym2203_write_port_0_w )
- AM_RANGE( 0xc800, 0xc800 ) AM_READWRITE( okim6295_status_0_r, okim6295_data_0_w )
- AM_RANGE( 0xc808, 0xc808 ) AM_READWRITE( okim6295_status_1_r, okim6295_data_1_w )
+ AM_RANGE( 0xc000, 0xc001 ) AM_DEVREADWRITE(SOUND, "ym", ym2203_r, ym2203_w )
+ AM_RANGE( 0xc800, 0xc800 ) AM_DEVREADWRITE( SOUND, "oki1", okim6295_r, okim6295_w )
+ AM_RANGE( 0xc808, 0xc808 ) AM_DEVREADWRITE( SOUND, "oki2", okim6295_r, okim6295_w )
AM_RANGE( 0xc810, 0xc817 ) AM_WRITE( NMK112_okibank_w )
// AM_RANGE( 0xc810, 0xc817 ) AM_WRITE( okibank_w )
AM_RANGE( 0xd000, 0xd000 ) AM_WRITE( raphero_sound_rombank_w )
@@ -1178,10 +1176,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( macross2_sound_io_map, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READWRITE(ym2203_status_port_0_r, ym2203_control_port_0_w)
- AM_RANGE(0x01, 0x01) AM_READWRITE(ym2203_read_port_0_r, ym2203_write_port_0_w)
- AM_RANGE(0x80, 0x80) AM_READWRITE(okim6295_status_0_r, okim6295_data_0_w)
- AM_RANGE(0x88, 0x88) AM_READWRITE(okim6295_status_1_r, okim6295_data_1_w)
+ AM_RANGE(0x00, 0x01) AM_DEVREADWRITE(SOUND, "ym", ym2203_r, ym2203_w)
+ AM_RANGE(0x80, 0x80) AM_DEVREADWRITE(SOUND, "oki1", okim6295_r, okim6295_w)
+ AM_RANGE(0x88, 0x88) AM_DEVREADWRITE(SOUND, "oki2", okim6295_r, okim6295_w)
AM_RANGE(0x90, 0x97) AM_WRITE(NMK112_okibank_w)
ADDRESS_MAP_END
@@ -1191,8 +1188,8 @@ static ADDRESS_MAP_START( bjtwin_readmem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x080002, 0x080003) AM_READ_PORT("IN1")
AM_RANGE(0x080008, 0x080009) AM_READ_PORT("DSW1")
AM_RANGE(0x08000a, 0x08000b) AM_READ_PORT("DSW2")
- AM_RANGE(0x084000, 0x084001) AM_READ(okim6295_status_0_lsb_r)
- AM_RANGE(0x084010, 0x084011) AM_READ(okim6295_status_1_lsb_r)
+ AM_RANGE(0x084000, 0x084001) AM_DEVREAD8(SOUND, "oki1", okim6295_r, 0x00ff)
+ AM_RANGE(0x084010, 0x084011) AM_DEVREAD8(SOUND, "oki2", okim6295_r, 0x00ff)
AM_RANGE(0x088000, 0x0887ff) AM_READ(SMH_RAM)
AM_RANGE(0x09c000, 0x09cfff) AM_READ(nmk_bgvideoram_r)
AM_RANGE(0x09d000, 0x09dfff) AM_READ(nmk_bgvideoram_r) /* mirror */
@@ -1201,8 +1198,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( bjtwin_writemem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x000000, 0x07ffff) AM_WRITE(SMH_ROM)
AM_RANGE(0x080014, 0x080015) AM_WRITE(nmk_flipscreen_w)
- AM_RANGE(0x084000, 0x084001) AM_WRITE(okim6295_data_0_lsb_w)
- AM_RANGE(0x084010, 0x084011) AM_WRITE(okim6295_data_1_lsb_w)
+ AM_RANGE(0x084000, 0x084001) AM_DEVWRITE8(SOUND, "oki1", okim6295_w, 0x00ff)
+ AM_RANGE(0x084010, 0x084011) AM_DEVWRITE8(SOUND, "oki2", okim6295_w, 0x00ff)
AM_RANGE(0x084020, 0x08402f) AM_WRITE(NMK112_okibank_lsb_w)
AM_RANGE(0x088000, 0x0887ff) AM_WRITE(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE(&paletteram16)
AM_RANGE(0x094000, 0x094001) AM_WRITE(nmk_tilebank_w)
@@ -3568,14 +3565,14 @@ static const ym2203_interface ym2203_nmk004_interface =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- NULL, NULL, NULL, NULL
+ DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
},
NMK004_irq
};
-static void ym2203_irqhandler(running_machine *machine, int irq)
+static void ym2203_irqhandler(const device_config *device, int irq)
{
- cpu_set_input_line(machine->cpu[1],0,irq ? ASSERT_LINE : CLEAR_LINE);
+ cpu_set_input_line(device->machine->cpu[1],0,irq ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2203_interface ym2203_config =
@@ -3583,7 +3580,7 @@ static const ym2203_interface ym2203_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
- NULL, NULL, NULL, NULL
+ DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL
},
ym2203_irqhandler
};
@@ -4096,7 +4093,7 @@ static MACHINE_DRIVER_START( ssmissin )
/* sound hardware */
MDRV_SPEAKER_STANDARD_MONO("mono")
- MDRV_SOUND_ADD("oki1", OKIM6295, 8000000/8) /* 1 Mhz, pin 7 high */
+ MDRV_SOUND_ADD("oki", OKIM6295, 8000000/8) /* 1 Mhz, pin 7 high */
MDRV_SOUND_CONFIG(okim6295_interface_pin7high)
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_DRIVER_END
@@ -4790,12 +4787,12 @@ static WRITE16_HANDLER( twinactn_flipscreen_w )
***************************************************************************/
-static WRITE8_HANDLER( spec2k_oki1_banking_w )
+static WRITE8_DEVICE_HANDLER( spec2k_oki1_banking_w )
{
if(data == 0xfe)
- okim6295_set_bank_base(1, 0);
+ okim6295_set_bank_base(device, 0);
else if(data == 0xff)
- okim6295_set_bank_base(1, 0x40000);
+ okim6295_set_bank_base(device, 0x40000);
}
static ADDRESS_MAP_START( afega_sound_cpu, ADDRESS_SPACE_PROGRAM, 8 )
@@ -4804,28 +4801,27 @@ static ADDRESS_MAP_START( afega_sound_cpu, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM // RAM
AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r) // From Main CPU
- AM_RANGE(0xf808, 0xf808) AM_WRITE(ym2151_register_port_0_w) // YM2151
- AM_RANGE(0xf809, 0xf809) AM_READWRITE(ym2151_status_port_0_r, ym2151_data_port_0_w) // YM2151
- AM_RANGE(0xf80a, 0xf80a) AM_READWRITE(okim6295_status_0_r, okim6295_data_0_w) // M6295
+ AM_RANGE(0xf808, 0xf809) AM_DEVREADWRITE(SOUND, "ym", ym2151_r, ym2151_w) // YM2151
+ AM_RANGE(0xf80a, 0xf80a) AM_DEVREADWRITE(SOUND, "oki", okim6295_r, okim6295_w) // M6295
ADDRESS_MAP_END
static ADDRESS_MAP_START( firehawk_sound_cpu, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xfff0, 0xfff0) AM_READ(soundlatch_r)
- AM_RANGE(0xfff2, 0xfff2) AM_WRITE(spec2k_oki1_banking_w )
- AM_RANGE(0xfff8, 0xfff8) AM_READWRITE(okim6295_status_1_r, okim6295_data_1_w)
- AM_RANGE(0xfffa, 0xfffa) AM_READWRITE(okim6295_status_0_r, okim6295_data_0_w)
+ AM_RANGE(0xfff2, 0xfff2) AM_DEVWRITE(SOUND, "oki2", spec2k_oki1_banking_w )
+ AM_RANGE(0xfff8, 0xfff8) AM_DEVREADWRITE(SOUND, "oki2", okim6295_r, okim6295_w)
+ AM_RANGE(0xfffa, 0xfffa) AM_DEVREADWRITE(SOUND, "oki1", okim6295_r, okim6295_w)
AM_RANGE(0xf800, 0xffff) AM_RAM // not used, only tested
ADDRESS_MAP_END
-static WRITE8_HANDLER( twinactn_oki_bank_w )
+static WRITE8_DEVICE_HANDLER( twinactn_oki_bank_w )
{
- okim6295_set_bank_base(0, (data & 3) * 0x40000);
+ okim6295_set_bank_base(device, (data & 3) * 0x40000);
if (data & (~3))
- logerror("%04x: invalid oki bank %02x\n", cpu_get_pc(space->cpu), data);
+ logerror("%s: invalid oki bank %02x\n", cpuexec_describe_context(device->machine), data);
// logerror("%04x: oki bank %02x\n", cpu_get_pc(space->cpu), data);
}
@@ -4833,8 +4829,8 @@ static WRITE8_HANDLER( twinactn_oki_bank_w )
static ADDRESS_MAP_START( twinactn_sound_cpu, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
- AM_RANGE(0x9000, 0x9000) AM_WRITE(twinactn_oki_bank_w)
- AM_RANGE(0x9800, 0x9800) AM_READWRITE(okim6295_status_0_r, okim6295_data_0_w)
+ AM_RANGE(0x9000, 0x9000) AM_DEVWRITE(SOUND, "oki", twinactn_oki_bank_w)
+ AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE(SOUND, "oki", okim6295_r, okim6295_w)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r) // From Main CPU
ADDRESS_MAP_END
@@ -4918,9 +4914,9 @@ GFXDECODE_END
***************************************************************************/
-static void irq_handler(running_machine *machine, int irq)
+static void irq_handler(const device_config *device, int irq)
{
- cpu_set_input_line(machine->cpu[1],0,irq ? ASSERT_LINE : CLEAR_LINE);
+ cpu_set_input_line(device->machine->cpu[1],0,irq ? ASSERT_LINE : CLEAR_LINE);
}
static const ym2151_interface afega_ym2151_intf =
@@ -4963,7 +4959,7 @@ static MACHINE_DRIVER_START( stagger1 )
MDRV_SOUND_ROUTE(0, "left", 0.30)
MDRV_SOUND_ROUTE(1, "right", 0.30)
- MDRV_SOUND_ADD("oki1", OKIM6295, XTAL_4MHz/4) /* verified on pcb */
+ MDRV_SOUND_ADD("oki", OKIM6295, XTAL_4MHz/4) /* verified on pcb */
MDRV_SOUND_CONFIG(okim6295_interface_pin7high) /* verified on pcb */
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "left", 0.70)
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "right", 0.70)
@@ -5073,7 +5069,7 @@ static MACHINE_DRIVER_START( twinactn )
/* sound hardware */
MDRV_SPEAKER_STANDARD_MONO("mono")
- MDRV_SOUND_ADD("oki1", OKIM6295, 1000000)
+ MDRV_SOUND_ADD("oki", OKIM6295, 1000000)
MDRV_SOUND_CONFIG(okim6295_interface_pin7high)
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_DRIVER_END