summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/chinagat.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/chinagat.c')
-rw-r--r--src/mame/drivers/chinagat.c47
1 files changed, 21 insertions, 26 deletions
diff --git a/src/mame/drivers/chinagat.c b/src/mame/drivers/chinagat.c
index 8b6040efe0f..4862c71f7bc 100644
--- a/src/mame/drivers/chinagat.c
+++ b/src/mame/drivers/chinagat.c
@@ -248,17 +248,17 @@ static WRITE8_HANDLER( saiyugb1_adpcm_rom_addr_w )
saiyugb1_i8748_P1 = data;
}
-static WRITE8_HANDLER( saiyugb1_adpcm_control_w )
+static WRITE8_DEVICE_HANDLER( saiyugb1_adpcm_control_w )
{
/* i8748 Port 2 write */
- UINT8 *saiyugb1_adpcm_rom = memory_region(space->machine, "adpcm");
+ UINT8 *saiyugb1_adpcm_rom = memory_region(device->machine, "adpcm");
if (data & 0x80) /* Reset m5205 and disable ADPCM ROM outputs */
{
logerror("ADPCM output disabled\n");
saiyugb1_pcm_nibble = 0x0f;
- msm5205_reset_w(0,1);
+ msm5205_reset_w(device,1);
}
else
{
@@ -287,7 +287,7 @@ static WRITE8_HANDLER( saiyugb1_adpcm_control_w )
if ( ((saiyugb1_i8748_P2 & 0xc) >= 8) && ((data & 0xc) == 4) )
{
- msm5205_data_w (0, saiyugb1_pcm_nibble);
+ msm5205_data_w (device, saiyugb1_pcm_nibble);
logerror("Writing %02x to m5205\n",saiyugb1_pcm_nibble);
}
logerror("$ROM=%08x P1=%02x P2=%02x Prev_P2=%02x Nibble=%1x PCM_data=%02x\n",saiyugb1_adpcm_addr,saiyugb1_i8748_P1,data,saiyugb1_i8748_P2,saiyugb1_pcm_shift,saiyugb1_pcm_nibble);
@@ -295,7 +295,7 @@ static WRITE8_HANDLER( saiyugb1_adpcm_control_w )
saiyugb1_i8748_P2 = data;
}
-static WRITE8_HANDLER( saiyugb1_m5205_clk_w )
+static WRITE8_DEVICE_HANDLER( saiyugb1_m5205_clk_w )
{
/* i8748 T0 output clk mode */
/* This signal goes through a divide by 8 counter */
@@ -307,12 +307,12 @@ static WRITE8_HANDLER( saiyugb1_m5205_clk_w )
saiyugb1_m5205_clk++;
if (saiyugb1_m5205_clk == 8)
}
- msm5205_vclk_w (0, 1); /* ??? */
+ msm5205_vclk_w (device, 1); /* ??? */
saiyugb1_m5205_clk = 0;
}
else
}
- msm5205_vclk_w (0, 0); /* ??? */
+ msm5205_vclk_w (device, 0); /* ??? */
}
#endif
}
@@ -365,9 +365,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
- AM_RANGE(0x8800, 0x8800) AM_WRITE(ym2151_register_port_0_w)
- AM_RANGE(0x8801, 0x8801) AM_READWRITE(ym2151_status_port_0_r, ym2151_data_port_0_w)
- AM_RANGE(0x9800, 0x9800) AM_READWRITE(okim6295_status_0_r, okim6295_data_0_w)
+ AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE(SOUND, "ym", ym2151_r, ym2151_w)
+ AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE(SOUND, "oki", okim6295_r, okim6295_w)
AM_RANGE(0xA000, 0xA000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
@@ -377,26 +376,22 @@ static ADDRESS_MAP_START( ym2203c_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
// 8804 and/or 8805 make a gong sound when the coin goes in
// but only on the title screen....
- AM_RANGE(0x8800, 0x8800) AM_READWRITE(ym2203_status_port_0_r, ym2203_control_port_0_w)
- AM_RANGE(0x8801, 0x8801) AM_WRITE(ym2203_write_port_0_w)
-// AM_RANGE(0x8802, 0x8802) AM_READWRITE(okim6295_data_0_w, okim6295_status_0_r)
-// AM_RANGE(0x8803, 0x8803) AM_WRITE(okim6295_data_0_w)
- AM_RANGE(0x8804, 0x8804) AM_READWRITE(ym2203_status_port_1_r, ym2203_control_port_1_w)
- AM_RANGE(0x8805, 0x8805) AM_WRITE(ym2203_write_port_1_w)
+ AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE(SOUND, "ym1", ym2203_r, ym2203_w)
+// AM_RANGE(0x8802, 0x8802) AM_DEVREADWRITE(SOUND, "oki", okim6295_r, okim6295_w)
+// AM_RANGE(0x8803, 0x8803) AM_DEVWRITE(SOUND, "oki", okim6295_w)
+ AM_RANGE(0x8804, 0x8805) AM_DEVREADWRITE(SOUND, "ym2", ym2203_r, ym2203_w)
// AM_RANGE(0x8804, 0x8804) AM_WRITE(SMH_RAM)
// AM_RANGE(0x8805, 0x8805) AM_WRITE(SMH_RAM)
-// AM_RANGE(0x8800, 0x8800) AM_WRITE(ym2151_register_port_0_w)
-// AM_RANGE(0x8801, 0x8801) AM_WRITE(ym2151_data_port_0_w)
-// AM_RANGE(0x9800, 0x9800) AM_READWRITE(okim6295_status_0_r, okim6295_data_0_w)
+// AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE(SOUND, "ym", ym2151_r, ym2151_w)
+// AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE(SOUND, "oki", okim6295_r, okim6295_w)
AM_RANGE(0xA000, 0xA000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( saiyugb1_sound_map, ADDRESS_SPACE_PROGRAM, 8 )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
- AM_RANGE(0x8800, 0x8800) AM_WRITE(ym2151_register_port_0_w)
- AM_RANGE(0x8801, 0x8801) AM_READWRITE(ym2151_status_port_0_r, ym2151_data_port_0_w)
+ AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE(SOUND, "ym", ym2151_r, ym2151_w)
AM_RANGE(0x9800, 0x9800) AM_WRITE(saiyugb1_mcu_command_w)
AM_RANGE(0xA000, 0xA000) AM_READ(soundlatch_r)
ADDRESS_MAP_END
@@ -408,10 +403,10 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( i8748_portmap, ADDRESS_SPACE_IO, 8 )
AM_RANGE(MCS48_PORT_BUS, MCS48_PORT_BUS) AM_READ(saiyugb1_mcu_command_r)
- AM_RANGE(MCS48_PORT_T0, MCS48_PORT_T0) AM_WRITE(saiyugb1_m5205_clk_w) /* Drives the clock on the m5205 at 1/8 of this frequency */
+ AM_RANGE(MCS48_PORT_T0, MCS48_PORT_T0) AM_DEVWRITE(SOUND, "adpcm", saiyugb1_m5205_clk_w) /* Drives the clock on the m5205 at 1/8 of this frequency */
AM_RANGE(MCS48_PORT_T1, MCS48_PORT_T1) AM_READ(saiyugb1_m5205_irq_r)
AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) AM_WRITE(saiyugb1_adpcm_rom_addr_w)
- AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_WRITE(saiyugb1_adpcm_control_w)
+ AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_DEVWRITE(SOUND, "adpcm", saiyugb1_adpcm_control_w)
ADDRESS_MAP_END
@@ -523,9 +518,9 @@ static GFXDECODE_START( chinagat )
GFXDECODE_END
-static void chinagat_irq_handler(running_machine *machine, int irq)
+static void chinagat_irq_handler(const device_config *device, int irq)
{
- cpu_set_input_line(machine->cpu[2], 0, irq ? ASSERT_LINE : CLEAR_LINE );
+ cpu_set_input_line(device->machine->cpu[2], 0, irq ? ASSERT_LINE : CLEAR_LINE );
}
static const ym2151_interface ym2151_config =
@@ -546,7 +541,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
},
chinagat_irq_handler
};