summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/xmen.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/xmen.c')
-rw-r--r--src/mame/drivers/xmen.c56
1 files changed, 26 insertions, 30 deletions
diff --git a/src/mame/drivers/xmen.c b/src/mame/drivers/xmen.c
index 51efc5f2db7..1b1fffdd4b5 100644
--- a/src/mame/drivers/xmen.c
+++ b/src/mame/drivers/xmen.c
@@ -41,37 +41,36 @@ static const eeprom_interface eeprom_intf =
"0100110000000" /* unlock command */
};
-static WRITE16_HANDLER( eeprom_w )
+WRITE16_MEMBER(xmen_state::eeprom_w)
{
- xmen_state *state = space->machine().driver_data<xmen_state>();
- logerror("%06x: write %04x to 108000\n",cpu_get_pc(&space->device()),data);
+ logerror("%06x: write %04x to 108000\n",cpu_get_pc(&space.device()),data);
if (ACCESSING_BITS_0_7)
{
/* bit 0 = coin counter */
- coin_counter_w(space->machine(), 0, data & 0x01);
+ coin_counter_w(machine(), 0, data & 0x01);
/* bit 2 is data */
/* bit 3 is clock (active high) */
/* bit 4 is cs (active low) */
/* bit 5 is enabled in IRQ3, disabled in IRQ5 (sprite DMA start?) */
- input_port_write(space->machine(), "EEPROMOUT", data, 0xff);
+ input_port_write(machine(), "EEPROMOUT", data, 0xff);
}
if (ACCESSING_BITS_8_15)
{
/* bit 8 = enable sprite ROM reading */
- k053246_set_objcha_line(state->m_k053246, (data & 0x0100) ? ASSERT_LINE : CLEAR_LINE);
+ k053246_set_objcha_line(m_k053246, (data & 0x0100) ? ASSERT_LINE : CLEAR_LINE);
/* bit 9 = enable char ROM reading through the video RAM */
- k052109_set_rmrd_line(state->m_k052109, (data & 0x0200) ? ASSERT_LINE : CLEAR_LINE);
+ k052109_set_rmrd_line(m_k052109, (data & 0x0200) ? ASSERT_LINE : CLEAR_LINE);
}
}
-static READ16_HANDLER( sound_status_r )
+READ16_MEMBER(xmen_state::sound_status_r)
{
return soundlatch2_r(space, 0);
}
-static WRITE16_HANDLER( sound_cmd_w )
+WRITE16_MEMBER(xmen_state::sound_cmd_w)
{
if (ACCESSING_BITS_0_7)
{
@@ -80,20 +79,18 @@ static WRITE16_HANDLER( sound_cmd_w )
}
}
-static WRITE16_HANDLER( sound_irq_w )
+WRITE16_MEMBER(xmen_state::sound_irq_w)
{
- xmen_state *state = space->machine().driver_data<xmen_state>();
- device_set_input_line(state->m_audiocpu, 0, HOLD_LINE);
+ device_set_input_line(m_audiocpu, 0, HOLD_LINE);
}
-static WRITE16_HANDLER( xmen_18fa00_w )
+WRITE16_MEMBER(xmen_state::xmen_18fa00_w)
{
- xmen_state *state = space->machine().driver_data<xmen_state>();
if(ACCESSING_BITS_0_7)
{
/* bit 2 is interrupt enable */
- state->m_vblank_irq_mask = data & 0x04;
+ m_vblank_irq_mask = data & 0x04;
}
}
@@ -103,11 +100,10 @@ static void sound_reset_bank( running_machine &machine )
memory_set_bank(machine, "bank4", state->m_sound_curbank & 0x07);
}
-static WRITE8_HANDLER( sound_bankswitch_w )
+WRITE8_MEMBER(xmen_state::sound_bankswitch_w)
{
- xmen_state *state = space->machine().driver_data<xmen_state>();
- state->m_sound_curbank = data;
- sound_reset_bank(space->machine());
+ m_sound_curbank = data;
+ sound_reset_bank(machine());
}
@@ -117,18 +113,18 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, xmen_state )
AM_RANGE(0x100000, 0x100fff) AM_DEVREADWRITE_LEGACY("k053246", k053247_word_r, k053247_word_w)
AM_RANGE(0x101000, 0x101fff) AM_RAM
AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0x108000, 0x108001) AM_WRITE_LEGACY(eeprom_w)
+ AM_RANGE(0x108000, 0x108001) AM_WRITE(eeprom_w)
AM_RANGE(0x108020, 0x108027) AM_DEVWRITE_LEGACY("k053246", k053246_word_w)
- AM_RANGE(0x10804c, 0x10804d) AM_WRITE_LEGACY(sound_cmd_w)
- AM_RANGE(0x10804e, 0x10804f) AM_WRITE_LEGACY(sound_irq_w)
- AM_RANGE(0x108054, 0x108055) AM_READ_LEGACY(sound_status_r)
+ AM_RANGE(0x10804c, 0x10804d) AM_WRITE(sound_cmd_w)
+ AM_RANGE(0x10804e, 0x10804f) AM_WRITE(sound_irq_w)
+ AM_RANGE(0x108054, 0x108055) AM_READ(sound_status_r)
AM_RANGE(0x108060, 0x10807f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w)
AM_RANGE(0x10a000, 0x10a001) AM_READ_PORT("P2_P4") AM_WRITE_LEGACY(watchdog_reset16_w)
AM_RANGE(0x10a002, 0x10a003) AM_READ_PORT("P1_P3")
AM_RANGE(0x10a004, 0x10a005) AM_READ_PORT("EEPROM")
AM_RANGE(0x10a00c, 0x10a00d) AM_DEVREAD_LEGACY("k053246", k053246_word_r)
AM_RANGE(0x110000, 0x113fff) AM_RAM /* main RAM */
- AM_RANGE(0x18fa00, 0x18fa01) AM_WRITE_LEGACY(xmen_18fa00_w)
+ AM_RANGE(0x18fa00, 0x18fa01) AM_WRITE(xmen_18fa00_w)
AM_RANGE(0x18c000, 0x197fff) AM_DEVREADWRITE_LEGACY("k052109", k052109_lsb_r, k052109_lsb_w)
ADDRESS_MAP_END
@@ -140,7 +136,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, xmen_state )
AM_RANGE(0xe800, 0xe801) AM_MIRROR(0x0400) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0xf000, 0xf000) AM_WRITE_LEGACY(soundlatch2_w)
AM_RANGE(0xf002, 0xf002) AM_READ_LEGACY(soundlatch_r)
- AM_RANGE(0xf800, 0xf800) AM_WRITE_LEGACY(sound_bankswitch_w)
+ AM_RANGE(0xf800, 0xf800) AM_WRITE(sound_bankswitch_w)
ADDRESS_MAP_END
@@ -152,11 +148,11 @@ static ADDRESS_MAP_START( 6p_main_map, AS_PROGRAM, 16, xmen_state )
AM_RANGE(0x102000, 0x102fff) AM_RAM AM_BASE(m_xmen6p_spriteramright) /* sprites (screen 2) */
AM_RANGE(0x103000, 0x103fff) AM_RAM /* 6p - a buffer? */
AM_RANGE(0x104000, 0x104fff) AM_RAM_WRITE_LEGACY(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
- AM_RANGE(0x108000, 0x108001) AM_WRITE_LEGACY(eeprom_w)
+ AM_RANGE(0x108000, 0x108001) AM_WRITE(eeprom_w)
AM_RANGE(0x108020, 0x108027) AM_DEVWRITE_LEGACY("k053246", k053246_word_w) /* sprites */
- AM_RANGE(0x10804c, 0x10804d) AM_WRITE_LEGACY(sound_cmd_w)
- AM_RANGE(0x10804e, 0x10804f) AM_WRITE_LEGACY(sound_irq_w)
- AM_RANGE(0x108054, 0x108055) AM_READ_LEGACY(sound_status_r)
+ AM_RANGE(0x10804c, 0x10804d) AM_WRITE(sound_cmd_w)
+ AM_RANGE(0x10804e, 0x10804f) AM_WRITE(sound_irq_w)
+ AM_RANGE(0x108054, 0x108055) AM_READ(sound_status_r)
AM_RANGE(0x108060, 0x10807f) AM_DEVWRITE_LEGACY("k053251", k053251_lsb_w)
AM_RANGE(0x10a000, 0x10a001) AM_READ_PORT("P2_P4") AM_WRITE_LEGACY(watchdog_reset16_w)
AM_RANGE(0x10a002, 0x10a003) AM_READ_PORT("P1_P3")
@@ -164,7 +160,7 @@ static ADDRESS_MAP_START( 6p_main_map, AS_PROGRAM, 16, xmen_state )
AM_RANGE(0x10a006, 0x10a007) AM_READ_PORT("P5_P6")
AM_RANGE(0x10a00c, 0x10a00d) AM_DEVREAD_LEGACY("k053246", k053246_word_r) /* sprites */
AM_RANGE(0x110000, 0x113fff) AM_RAM /* main RAM */
- AM_RANGE(0x18fa00, 0x18fa01) AM_WRITE_LEGACY(xmen_18fa00_w)
+ AM_RANGE(0x18fa00, 0x18fa01) AM_WRITE(xmen_18fa00_w)
/* AM_RANGE(0x18c000, 0x197fff) AM_DEVWRITE_LEGACY("k052109", k052109_lsb_w) AM_BASE(m_xmen6p_tilemapleft) */
AM_RANGE(0x18c000, 0x197fff) AM_RAM AM_BASE(m_xmen6p_tilemapleft) /* left tilemap (p1,p2,p3 counters) */
/*