summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/toaplan2.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/toaplan2.c')
-rw-r--r--src/mame/drivers/toaplan2.c81
1 files changed, 36 insertions, 45 deletions
diff --git a/src/mame/drivers/toaplan2.c b/src/mame/drivers/toaplan2.c
index d347f1b363f..6b200facde6 100644
--- a/src/mame/drivers/toaplan2.c
+++ b/src/mame/drivers/toaplan2.c
@@ -634,7 +634,7 @@ static WRITE16_HANDLER( shippumd_coin_word_w )
if (ACCESSING_BITS_0_7)
{
toaplan2_coin_w(space, offset, data & 0xff);
- okim6295_set_bank_base(0, (((data & 0x10) >> 4) * 0x40000));
+ okim6295_set_bank_base(devtag_get_device(space->machine, SOUND, "oki"), (((data & 0x10) >> 4) * 0x40000));
}
if (ACCESSING_BITS_8_15 && (data & 0xff00) )
{
@@ -851,7 +851,7 @@ static WRITE16_HANDLER( dogyuun_snd_cpu_w )
if (ACCESSING_BITS_0_7)
{
mcu_data = data;
- dogyuun_okisnd_w(space, data);
+ dogyuun_okisnd_w(devtag_get_device(space->machine, SOUND, "oki"), data);
}
logerror("PC:%06x Writing command (%04x) to the NEC V25+ secondary CPU port\n",cpu_get_previouspc(space->cpu),mcu_data);
}
@@ -870,7 +870,7 @@ static WRITE16_HANDLER( kbash_snd_cpu_w )
{
if (ACCESSING_BITS_0_7)
{
- kbash_okisnd_w(space, data);
+ kbash_okisnd_w(devtag_get_device(space->machine, SOUND, "oki"), data);
}
logerror("PC:%06x Writing Sound command (%04x) to the NEC V25+ secondary CPU\n",cpu_get_previouspc(space->cpu),data);
}
@@ -907,7 +907,7 @@ static WRITE16_HANDLER( fixeight_sec_cpu_w )
if (mcu_data & 0xff00)
{
mcu_data = (mcu_data & 0xff00) | (data & 0xff);
- fixeight_okisnd_w(space, data);
+ fixeight_okisnd_w(devtag_get_device(space->machine, SOUND, "oki"), data);
}
else if (mcu_data == 0xff00)
{
@@ -951,7 +951,7 @@ static WRITE16_HANDLER( batsugun_snd_cpu_w )
if (ACCESSING_BITS_0_7)
{
mcu_data = data;
- batsugun_okisnd_w(space, data);
+ batsugun_okisnd_w(devtag_get_device(space->machine, SOUND, "oki"), data);
}
logerror("PC:%06x Writing command (%04x) to the NEC V25+ secondary CPU port %02x\n",cpu_get_previouspc(space->cpu),mcu_data,(offset*2));
}
@@ -969,22 +969,22 @@ static WRITE16_HANDLER( V25_sharedram_w )
}
}
-static WRITE16_HANDLER( oki_bankswitch_w )
+static WRITE16_DEVICE_HANDLER( oki_bankswitch_w )
{
if (ACCESSING_BITS_0_7)
{
- okim6295_set_bank_base(0, (data & 1) * 0x40000);
+ okim6295_set_bank_base(device, (data & 1) * 0x40000);
}
}
-static WRITE16_HANDLER( fixeighb_oki_bankswitch_w )
+static WRITE16_DEVICE_HANDLER( fixeighb_oki_bankswitch_w )
{
if (ACCESSING_BITS_0_7)
{
data &= 7;
if (data <= 4)
{
- UINT8 *fixeighb_oki = memory_region(space->machine, "oki");
+ UINT8 *fixeighb_oki = memory_region(device->machine, "oki");
memcpy(&fixeighb_oki[0x30000], &fixeighb_oki[(data * 0x10000) + 0x40000], 0x10000);
}
}
@@ -1287,7 +1287,7 @@ static WRITE16_HANDLER( bbakraid_nvram_w )
}
-static void bbakraid_irqhandler(running_machine *machine, int state)
+static void bbakraid_irqhandler(const device_config *device, int state)
{
/* Not used ??? Connected to a test pin (TP082) */
logerror("YMZ280 is generating an interrupt. State=%08x\n",state);
@@ -1411,9 +1411,9 @@ static ADDRESS_MAP_START( kbash2_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x200010, 0x200011) AM_READ_PORT("IN1")
AM_RANGE(0x200014, 0x200015) AM_READ_PORT("IN2")
AM_RANGE(0x200018, 0x200019) AM_READ_PORT("SYS")
- AM_RANGE(0x200020, 0x200021) AM_READWRITE(okim6295_status_1_lsb_r, okim6295_data_1_lsb_w)
- AM_RANGE(0x200024, 0x200025) AM_READWRITE(okim6295_status_0_lsb_r, okim6295_data_0_lsb_w)
- AM_RANGE(0x200028, 0x200029) AM_WRITE(oki_bankswitch_w)
+ AM_RANGE(0x200020, 0x200021) AM_DEVREADWRITE8(SOUND, "oki2", okim6295_r, okim6295_w, 0x00ff)
+ AM_RANGE(0x200024, 0x200025) AM_DEVREADWRITE8(SOUND, "oki1", okim6295_r, okim6295_w, 0x00ff)
+ AM_RANGE(0x200028, 0x200029) AM_DEVWRITE(SOUND, "oki1", oki_bankswitch_w)
AM_RANGE(0x20002c, 0x20002d) AM_READ(video_count_r)
AM_RANGE(0x300000, 0x300001) AM_WRITE(toaplan2_0_voffs_w) /* VideoRAM selector/offset */
AM_RANGE(0x300004, 0x300007) AM_READWRITE(toaplan2_0_videoram16_r, toaplan2_0_videoram16_w) /* Tile/Sprite VideoRAM */
@@ -1444,9 +1444,8 @@ static ADDRESS_MAP_START( truxton2_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x700006, 0x700007) AM_READ_PORT("IN1")
AM_RANGE(0x700008, 0x700009) AM_READ_PORT("IN2")
AM_RANGE(0x70000a, 0x70000b) AM_READ_PORT("SYS")
- AM_RANGE(0x700010, 0x700011) AM_READWRITE(okim6295_status_0_lsb_r, okim6295_data_0_lsb_w)
- AM_RANGE(0x700014, 0x700015) AM_WRITE(ym2151_register_port_0_lsb_w)
- AM_RANGE(0x700016, 0x700017) AM_READWRITE(ym2151_status_port_0_lsb_r, ym2151_data_port_0_lsb_w)
+ AM_RANGE(0x700010, 0x700011) AM_DEVREADWRITE8(SOUND, "oki", okim6295_r, okim6295_w, 0x00ff)
+ AM_RANGE(0x700014, 0x700017) AM_DEVREADWRITE8(SOUND, "ym", ym2151_r, ym2151_w, 0x00ff)
AM_RANGE(0x70001e, 0x70001f) AM_WRITE(toaplan2_coin_word_w) /* Coin count/lock */
ADDRESS_MAP_END
@@ -1547,8 +1546,8 @@ static ADDRESS_MAP_START( fixeighb_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x200008, 0x200009) AM_READ_PORT("IN3")
AM_RANGE(0x20000c, 0x20000d) AM_READ_PORT("DSWB")
AM_RANGE(0x200010, 0x200011) AM_READ_PORT("SYS")
- AM_RANGE(0x200014, 0x200015) AM_WRITE(fixeighb_oki_bankswitch_w) /* Sound banking. Code at $4084c, $5070 */
- AM_RANGE(0x200018, 0x200019) AM_READWRITE(okim6295_status_0_lsb_r, okim6295_data_0_lsb_w)
+ AM_RANGE(0x200014, 0x200015) AM_DEVWRITE(SOUND, "oki", fixeighb_oki_bankswitch_w) /* Sound banking. Code at $4084c, $5070 */
+ AM_RANGE(0x200018, 0x200019) AM_DEVREADWRITE8(SOUND, "oki", okim6295_r, okim6295_w, 0x00ff)
AM_RANGE(0x20001c, 0x20001d) AM_READ_PORT("DSWA")
AM_RANGE(0x300000, 0x300001) AM_WRITE(toaplan2_0_voffs_w) /* VideoRAM selector/offset */
AM_RANGE(0x300004, 0x300007) AM_READWRITE(toaplan2_0_videoram16_r, toaplan2_0_videoram16_w) /* Tile/Sprite VideoRAM */
@@ -1683,9 +1682,8 @@ static ADDRESS_MAP_START( snowbro2_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x300008, 0x300009) AM_WRITE(toaplan2_0_scroll_reg_select_w)
AM_RANGE(0x30000c, 0x30000d) AM_READWRITE(toaplan2_inputport_0_word_r, toaplan2_0_scroll_reg_data_w) /* VBlank */
AM_RANGE(0x400000, 0x400fff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE(&paletteram16)
- AM_RANGE(0x500000, 0x500001) AM_WRITE(ym2151_register_port_0_lsb_w)
- AM_RANGE(0x500002, 0x500003) AM_READWRITE(ym2151_status_port_0_lsb_r, ym2151_data_port_0_lsb_w)
- AM_RANGE(0x600000, 0x600001) AM_READWRITE(okim6295_status_0_lsb_r, okim6295_data_0_lsb_w)
+ AM_RANGE(0x500000, 0x500003) AM_DEVREADWRITE8(SOUND, "ym", ym2151_r, ym2151_w, 0x00ff)
+ AM_RANGE(0x600000, 0x600001) AM_DEVREADWRITE8(SOUND, "oki", okim6295_r, okim6295_w, 0x00ff)
AM_RANGE(0x700000, 0x700001) AM_READ_PORT("JMPR")
AM_RANGE(0x700004, 0x700005) AM_READ_PORT("DSWA")
AM_RANGE(0x700008, 0x700009) AM_READ_PORT("DSWB")
@@ -1694,7 +1692,7 @@ static ADDRESS_MAP_START( snowbro2_68k_mem, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x700014, 0x700015) AM_READ_PORT("IN3")
AM_RANGE(0x700018, 0x700019) AM_READ_PORT("IN4")
AM_RANGE(0x70001c, 0x70001d) AM_READ_PORT("SYS")
- AM_RANGE(0x700030, 0x700031) AM_WRITE(oki_bankswitch_w) /* Sample bank switch */
+ AM_RANGE(0x700030, 0x700031) AM_DEVWRITE(SOUND, "oki", oki_bankswitch_w) /* Sample bank switch */
AM_RANGE(0x700034, 0x700035) AM_WRITE(toaplan2_coin_word_w) /* Coin count/lock */
ADDRESS_MAP_END
@@ -1844,17 +1842,15 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_z80_mem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE(&toaplan2_shared_ram)
- AM_RANGE(0xe000, 0xe000) AM_READWRITE(ym3812_status_port_0_r, ym3812_control_port_0_w)
- AM_RANGE(0xe001, 0xe001) AM_WRITE(ym3812_write_port_0_w)
+ AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE(SOUND, "ym", ym3812_r, ym3812_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( raizing_sound_z80_mem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM AM_BASE(&raizing_shared_ram)
- AM_RANGE(0xe000, 0xe000) AM_WRITE(ym2151_register_port_0_w)
- AM_RANGE(0xe001, 0xe001) AM_READWRITE(ym2151_status_port_0_r, ym2151_data_port_0_w)
- AM_RANGE(0xe004, 0xe004) AM_READWRITE(okim6295_status_0_r, okim6295_data_0_w)
+ AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE(SOUND, "ym", ym2151_r, ym2151_w)
+ AM_RANGE(0xe004, 0xe004) AM_DEVREADWRITE(SOUND, "oki", okim6295_r, okim6295_w)
AM_RANGE(0xe00e, 0xe00e) AM_WRITE(toaplan2_coin_w)
ADDRESS_MAP_END
@@ -1863,9 +1859,8 @@ static ADDRESS_MAP_START( bgaregga_sound_z80_mem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK(1)
AM_RANGE(0xc000, 0xdfff) AM_RAM AM_BASE(&raizing_shared_ram)
- AM_RANGE(0xe000, 0xe000) AM_WRITE(ym2151_register_port_0_w)
- AM_RANGE(0xe001, 0xe001) AM_READWRITE(ym2151_status_port_0_r, ym2151_data_port_0_w)
- AM_RANGE(0xe004, 0xe004) AM_READWRITE(okim6295_status_0_r, okim6295_data_0_w)
+ AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE(SOUND, "ym", ym2151_r, ym2151_w)
+ AM_RANGE(0xe004, 0xe004) AM_DEVREADWRITE(SOUND, "oki", okim6295_r, okim6295_w)
AM_RANGE(0xe006, 0xe006) AM_WRITE(raizing_okim6295_bankselect_0)
AM_RANGE(0xe008, 0xe008) AM_WRITE(raizing_okim6295_bankselect_1)
AM_RANGE(0xe00a, 0xe00a) AM_WRITE(bgaregga_bankswitch_w)
@@ -1890,10 +1885,9 @@ static ADDRESS_MAP_START( batrider_sound_z80_port, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x46, 0x46) AM_WRITE(raizing_clear_nmi_w)
AM_RANGE(0x48, 0x48) AM_READ(soundlatch_r)
AM_RANGE(0x4a, 0x4a) AM_READ(soundlatch2_r)
- AM_RANGE(0x80, 0x80) AM_WRITE(ym2151_register_port_0_w)
- AM_RANGE(0x81, 0x81) AM_READWRITE(ym2151_status_port_0_r, ym2151_data_port_0_w)
- AM_RANGE(0x82, 0x82) AM_READWRITE(okim6295_status_0_r, okim6295_data_0_w)
- AM_RANGE(0x84, 0x84) AM_READWRITE(okim6295_status_1_r, okim6295_data_1_w)
+ AM_RANGE(0x80, 0x81) AM_DEVREADWRITE(SOUND, "ym", ym2151_r, ym2151_w)
+ AM_RANGE(0x82, 0x82) AM_DEVREADWRITE(SOUND, "oki1", okim6295_r, okim6295_w)
+ AM_RANGE(0x84, 0x84) AM_DEVREADWRITE(SOUND, "oki2", okim6295_r, okim6295_w)
AM_RANGE(0x88, 0x88) AM_WRITE(batrider_bankswitch_w)
AM_RANGE(0xc0, 0xc0) AM_WRITE(raizing_okim6295_bankselect_0)
AM_RANGE(0xc2, 0xc2) AM_WRITE(raizing_okim6295_bankselect_1)
@@ -1917,8 +1911,7 @@ static ADDRESS_MAP_START( bbakraid_sound_z80_port, ADDRESS_SPACE_IO, 8 )
AM_RANGE(0x46, 0x46) AM_WRITE(raizing_clear_nmi_w)
AM_RANGE(0x48, 0x48) AM_READ(soundlatch_r)
AM_RANGE(0x4a, 0x4a) AM_READ(soundlatch2_r)
- AM_RANGE(0x80, 0x80) AM_WRITE(ymz280b_register_0_w)
- AM_RANGE(0x81, 0x81) AM_READWRITE(ymz280b_status_0_r, ymz280b_data_0_w)
+ AM_RANGE(0x80, 0x81) AM_DEVREADWRITE(SOUND, "ymz", ymz280b_r, ymz280b_w)
ADDRESS_MAP_END
@@ -1938,10 +1931,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( V25_mem, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x00000, 0x03fff) AM_ROM
// AM_RANGE(0x00000, 0x007ff) AM_RAM /* External shared RAM (Banked) */
- AM_RANGE(0x04000, 0x04000) AM_READWRITE(ym2151_status_port_0_r, ym2151_register_port_0_w)
- AM_RANGE(0x04001, 0x04001) AM_WRITE(ym2151_data_port_0_w)
- AM_RANGE(0x04002, 0x04002) AM_READWRITE(okim6295_status_0_r, okim6295_data_0_w)
-// AM_RANGE(0x04004, 0x04004) AM_WRITE(oki_bankswitch_w)
+ AM_RANGE(0x04000, 0x04001) AM_DEVREADWRITE(SOUND, "ym", ym2151_r, ym2151_w)
+ AM_RANGE(0x04002, 0x04002) AM_DEVREADWRITE(SOUND, "oki", okim6295_r, okim6295_w)
+// AM_RANGE(0x04004, 0x04004) AM_DEVWRITE(SOUND, "oki", oki_bankswitch_w)
AM_RANGE(0x04008, 0x04008) AM_READ_PORT("IN1")
AM_RANGE(0x0400a, 0x0400a) AM_READ_PORT("IN2")
AM_RANGE(0x0400c, 0x0400c) AM_READ_PORT("SYS")
@@ -1969,8 +1961,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( V25_rambased_mem, ADDRESS_SPACE_PROGRAM, 8 )
- AM_RANGE(0x00000, 0x00000) AM_WRITE( ym2151_register_port_0_w )
- AM_RANGE(0x00001, 0x00001) AM_READWRITE(ym2151_status_port_0_r, ym2151_data_port_0_w)
+ AM_RANGE(0x00000, 0x00001) AM_DEVREADWRITE(SOUND, "ym", ym2151_r, ym2151_w)
AM_RANGE(0x07800, 0x07fff) AM_RAM AM_SHARE(6)
@@ -3349,9 +3340,9 @@ static GFXDECODE_START( fixeighb )
GFXDECODE_ENTRY( "gfx2", 0, fixeighblayout , 0, 128 )
GFXDECODE_END
-static void irqhandler(running_machine *machine, int linestate)
+static void irqhandler(const device_config *device, int linestate)
{
- cpu_set_input_line(machine->cpu[1],0,linestate);
+ cpu_set_input_line(device->machine->cpu[1],0,linestate);
}
static const ym3812_interface ym3812_config =
@@ -3845,7 +3836,7 @@ static MACHINE_RESET(batsugun)
#endif
}
-static void batsugun_ym2151_irqhandler(running_machine *machine, int linestate)
+static void batsugun_ym2151_irqhandler(const device_config *device, int linestate)
{
logerror("batsugun_ym2151_irqhandler %02x\n",linestate);
// update_irq_lines(machine, linestate ? assert : clear);