summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/armedf.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/armedf.c')
-rw-r--r--src/mame/drivers/armedf.c206
1 files changed, 97 insertions, 109 deletions
diff --git a/src/mame/drivers/armedf.c b/src/mame/drivers/armedf.c
index 65669c1f9d9..6ef2d017c15 100644
--- a/src/mame/drivers/armedf.c
+++ b/src/mame/drivers/armedf.c
@@ -313,74 +313,71 @@ Notes:
---- ---- ---- ---x coin counter 0
*/
-static WRITE16_HANDLER( terraf_io_w )
+WRITE16_MEMBER(armedf_state::terraf_io_w)
{
- armedf_state *state = space->machine().driver_data<armedf_state>();
- if(data & 0x4000 && ((state->m_vreg & 0x4000) == 0)) //0 -> 1 transition
- nb_1414m4_exec(space,(state->m_text_videoram[0] << 8) | (state->m_text_videoram[1] & 0xff),state->m_text_videoram,state->m_fg_scrollx,state->m_fg_scrolly,state->m_tx_tilemap);
+ if(data & 0x4000 && ((m_vreg & 0x4000) == 0)) //0 -> 1 transition
+ nb_1414m4_exec(&space,(m_text_videoram[0] << 8) | (m_text_videoram[1] & 0xff),m_text_videoram,m_fg_scrollx,m_fg_scrolly,m_tx_tilemap);
- COMBINE_DATA(&state->m_vreg);
+ COMBINE_DATA(&m_vreg);
- coin_counter_w(space->machine(), 0, (data & 1) >> 0);
- coin_counter_w(space->machine(), 1, (data & 2) >> 1);
+ coin_counter_w(machine(), 0, (data & 1) >> 0);
+ coin_counter_w(machine(), 1, (data & 2) >> 1);
- flip_screen_set(space->machine(), state->m_vreg & 0x1000);
+ flip_screen_set(machine(), m_vreg & 0x1000);
}
-static WRITE16_HANDLER( terrafb_io_w )
+WRITE16_MEMBER(armedf_state::terrafb_io_w)
{
- armedf_state *state = space->machine().driver_data<armedf_state>();
- if(data & 0x4000 && ((state->m_vreg & 0x4000) == 0)) //0 -> 1 transition
- cputag_set_input_line(space->machine(), "extra", 0, HOLD_LINE);
+ if(data & 0x4000 && ((m_vreg & 0x4000) == 0)) //0 -> 1 transition
+ cputag_set_input_line(machine(), "extra", 0, HOLD_LINE);
- COMBINE_DATA(&state->m_vreg);
+ COMBINE_DATA(&m_vreg);
- coin_counter_w(space->machine(), 0, (data & 1) >> 0);
- coin_counter_w(space->machine(), 1, (data & 2) >> 1);
+ coin_counter_w(machine(), 0, (data & 1) >> 0);
+ coin_counter_w(machine(), 1, (data & 2) >> 1);
- flip_screen_set(space->machine(), state->m_vreg & 0x1000);
+ flip_screen_set(machine(), m_vreg & 0x1000);
}
-static WRITE16_HANDLER( bootleg_io_w )
+WRITE16_MEMBER(armedf_state::bootleg_io_w)
{
- armedf_state *state = space->machine().driver_data<armedf_state>();
- if(data & 0x4000 && ((state->m_vreg & 0x4000) == 0)) //0 -> 1 transition
+ if(data & 0x4000 && ((m_vreg & 0x4000) == 0)) //0 -> 1 transition
{
// NOP
}
- COMBINE_DATA(&state->m_vreg);
+ COMBINE_DATA(&m_vreg);
- coin_counter_w(space->machine(), 0, (data & 1) >> 0);
- coin_counter_w(space->machine(), 1, (data & 2) >> 1);
+ coin_counter_w(machine(), 0, (data & 1) >> 0);
+ coin_counter_w(machine(), 1, (data & 2) >> 1);
- flip_screen_set(space->machine(), state->m_vreg & 0x1000);
+ flip_screen_set(machine(), m_vreg & 0x1000);
}
-static WRITE16_HANDLER( sound_command_w )
+WRITE16_MEMBER(armedf_state::sound_command_w)
{
if (ACCESSING_BITS_0_7)
soundlatch_w(space, 0, ((data & 0x7f) << 1) | 1);
}
-static READ8_HANDLER( soundlatch_clear_r )
+READ8_MEMBER(armedf_state::soundlatch_clear_r)
{
soundlatch_clear_w(space, 0, 0);
return 0;
}
-static WRITE16_HANDLER( irq_lv1_ack_w )
+WRITE16_MEMBER(armedf_state::irq_lv1_ack_w)
{
- cputag_set_input_line(space->machine(), "maincpu", 1, CLEAR_LINE);
+ cputag_set_input_line(machine(), "maincpu", 1, CLEAR_LINE);
}
-static WRITE16_HANDLER( irq_lv2_ack_w )
+WRITE16_MEMBER(armedf_state::irq_lv2_ack_w)
{
- cputag_set_input_line(space->machine(), "maincpu", 2, CLEAR_LINE);
+ cputag_set_input_line(machine(), "maincpu", 2, CLEAR_LINE);
}
@@ -405,12 +402,12 @@ static ADDRESS_MAP_START( terraf_map, AS_PROGRAM, 16, armedf_state )
AM_RANGE(0x078002, 0x078003) AM_READ_PORT("P2")
AM_RANGE(0x078004, 0x078005) AM_READ_PORT("DSW1")
AM_RANGE(0x078006, 0x078007) AM_READ_PORT("DSW2")
-// AM_RANGE(0x07c000, 0x07c001) AM_WRITE_LEGACY(terraf_io_w) handled in DRIVER_INIT
+// AM_RANGE(0x07c000, 0x07c001) AM_WRITE(terraf_io_w) handled in DRIVER_INIT
AM_RANGE(0x07c002, 0x07c003) AM_WRITE_LEGACY(armedf_bg_scrollx_w)
AM_RANGE(0x07c004, 0x07c005) AM_WRITE_LEGACY(armedf_bg_scrolly_w)
- AM_RANGE(0x07c00a, 0x07c00b) AM_WRITE_LEGACY(sound_command_w)
+ AM_RANGE(0x07c00a, 0x07c00b) AM_WRITE(sound_command_w)
AM_RANGE(0x07c00c, 0x07c00d) AM_WRITENOP /* Watchdog ? cycle 0000 -> 0100 -> 0200 back to 0000 */
- AM_RANGE(0x07c00e, 0x07c00f) AM_WRITE_LEGACY(irq_lv1_ack_w)
+ AM_RANGE(0x07c00e, 0x07c00f) AM_WRITE(irq_lv1_ack_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( kozure_map, AS_PROGRAM, 16, armedf_state )
@@ -439,9 +436,9 @@ static ADDRESS_MAP_START( cclimbr2_map, AS_PROGRAM, 16, armedf_state )
// AM_RANGE(0x07c000, 0x07c001) AM_WRITE_LEGACY(io_w)
AM_RANGE(0x07c002, 0x07c003) AM_WRITE_LEGACY(armedf_bg_scrollx_w)
AM_RANGE(0x07c004, 0x07c005) AM_WRITE_LEGACY(armedf_bg_scrolly_w)
- AM_RANGE(0x07c00a, 0x07c00b) AM_WRITE_LEGACY(sound_command_w)
+ AM_RANGE(0x07c00a, 0x07c00b) AM_WRITE(sound_command_w)
AM_RANGE(0x07c00c, 0x07c00d) AM_WRITENOP /* Watchdog ? cycle 0000 -> 0100 -> 0200 back to 0000 */
- AM_RANGE(0x07c00e, 0x07c00f) AM_WRITE_LEGACY(irq_lv2_ack_w)
+ AM_RANGE(0x07c00e, 0x07c00f) AM_WRITE(irq_lv2_ack_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( legion_map, AS_PROGRAM, 16, armedf_state )
@@ -461,24 +458,23 @@ static ADDRESS_MAP_START( legion_map, AS_PROGRAM, 16, armedf_state )
// AM_RANGE(0x07c000, 0x07c001) AM_WRITE_LEGACY(legion_io_w)
AM_RANGE(0x07c002, 0x07c003) AM_WRITE_LEGACY(armedf_bg_scrollx_w)
AM_RANGE(0x07c004, 0x07c005) AM_WRITE_LEGACY(armedf_bg_scrolly_w)
- AM_RANGE(0x07c00a, 0x07c00b) AM_WRITE_LEGACY(sound_command_w)
+ AM_RANGE(0x07c00a, 0x07c00b) AM_WRITE(sound_command_w)
AM_RANGE(0x07c00c, 0x07c00d) AM_WRITENOP /* Watchdog ? cycle 0000 -> 0100 -> 0200 back to 0000 */
- AM_RANGE(0x07c00e, 0x07c00f) AM_WRITE_LEGACY(irq_lv2_ack_w)
+ AM_RANGE(0x07c00e, 0x07c00f) AM_WRITE(irq_lv2_ack_w)
ADDRESS_MAP_END
-static WRITE8_HANDLER( legiono_fg_scroll_w )
+WRITE8_MEMBER(armedf_state::legiono_fg_scroll_w)
{
- armedf_state *state = space->machine().driver_data<armedf_state>();
if(offset >= 0xb && offset < 0xf)
- state->m_legion_cmd[offset-0xb] = data & 0xff;
+ m_legion_cmd[offset-0xb] = data & 0xff;
- state->m_fg_scrollx = (state->m_legion_cmd[0x02] & 0xff) | ((state->m_legion_cmd[0x03] & 0x3) << 8);
- state->m_fg_scrolly = (state->m_legion_cmd[0x00] & 0xff) | ((state->m_legion_cmd[0x01] & 0x3) << 8);
+ m_fg_scrollx = (m_legion_cmd[0x02] & 0xff) | ((m_legion_cmd[0x03] & 0x3) << 8);
+ m_fg_scrolly = (m_legion_cmd[0x00] & 0xff) | ((m_legion_cmd[0x01] & 0x3) << 8);
}
static ADDRESS_MAP_START( legiono_map, AS_PROGRAM, 16, armedf_state )
- AM_RANGE(0x040000, 0x04003f) AM_WRITE8_LEGACY(legiono_fg_scroll_w,0x00ff)
+ AM_RANGE(0x040000, 0x04003f) AM_WRITE8(legiono_fg_scroll_w,0x00ff)
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x061000, 0x063fff) AM_RAM
@@ -492,12 +488,12 @@ static ADDRESS_MAP_START( legiono_map, AS_PROGRAM, 16, armedf_state )
AM_RANGE(0x078002, 0x078003) AM_READ_PORT("P2")
AM_RANGE(0x078004, 0x078005) AM_READ_PORT("DSW1")
AM_RANGE(0x078006, 0x078007) AM_READ_PORT("DSW2")
-// AM_RANGE(0x07c000, 0x07c001) AM_WRITE_LEGACY(bootleg_io_w)
+// AM_RANGE(0x07c000, 0x07c001) AM_WRITE(bootleg_io_w)
AM_RANGE(0x07c002, 0x07c003) AM_WRITE_LEGACY(armedf_bg_scrollx_w)
AM_RANGE(0x07c004, 0x07c005) AM_WRITE_LEGACY(armedf_bg_scrolly_w)
- AM_RANGE(0x07c00a, 0x07c00b) AM_WRITE_LEGACY(sound_command_w)
+ AM_RANGE(0x07c00a, 0x07c00b) AM_WRITE(sound_command_w)
AM_RANGE(0x07c00c, 0x07c00d) AM_WRITENOP /* Watchdog ? cycle 0000 -> 0100 -> 0200 back to 0000 */
- AM_RANGE(0x07c00e, 0x07c00f) AM_WRITE_LEGACY(irq_lv2_ack_w)
+ AM_RANGE(0x07c00e, 0x07c00f) AM_WRITE(irq_lv2_ack_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( armedf_map, AS_PROGRAM, 16, armedf_state )
@@ -514,90 +510,87 @@ static ADDRESS_MAP_START( armedf_map, AS_PROGRAM, 16, armedf_state )
AM_RANGE(0x06c004, 0x06c005) AM_READ_PORT("DSW1")
AM_RANGE(0x06c006, 0x06c007) AM_READ_PORT("DSW2")
AM_RANGE(0x06c000, 0x06c7ff) AM_RAM
- AM_RANGE(0x06d000, 0x06d001) AM_WRITE_LEGACY(terraf_io_w)
+ AM_RANGE(0x06d000, 0x06d001) AM_WRITE(terraf_io_w)
AM_RANGE(0x06d002, 0x06d003) AM_WRITE_LEGACY(armedf_bg_scrollx_w)
AM_RANGE(0x06d004, 0x06d005) AM_WRITE_LEGACY(armedf_bg_scrolly_w)
AM_RANGE(0x06d006, 0x06d007) AM_WRITE_LEGACY(armedf_fg_scrollx_w)
AM_RANGE(0x06d008, 0x06d009) AM_WRITE_LEGACY(armedf_fg_scrolly_w)
- AM_RANGE(0x06d00a, 0x06d00b) AM_WRITE_LEGACY(sound_command_w)
+ AM_RANGE(0x06d00a, 0x06d00b) AM_WRITE(sound_command_w)
AM_RANGE(0x06d00c, 0x06d00d) AM_WRITENOP //watchdog
- AM_RANGE(0x06d00e, 0x06d00f) AM_WRITE_LEGACY(irq_lv1_ack_w)
+ AM_RANGE(0x06d00e, 0x06d00f) AM_WRITE(irq_lv1_ack_w)
ADDRESS_MAP_END
-static READ16_HANDLER( latch_r )
+READ16_MEMBER(bigfghtr_state::latch_r)
{
- bigfghtr_state *state = space->machine().driver_data<bigfghtr_state>();
- state->m_read_latch = 1;
+ m_read_latch = 1;
return 0;
}
-static WRITE16_HANDLER( sharedram_w )
+WRITE16_MEMBER(bigfghtr_state::sharedram_w)
{
- bigfghtr_state *state = space->machine().driver_data<bigfghtr_state>();
- COMBINE_DATA(&state->m_sharedram[offset]);
+ COMBINE_DATA(&m_sharedram[offset]);
switch(offset)
{
case 0x40/2:
- state->m_mcu_input_snippet = (data == 0x100);
- state->m_mcu_jsr_snippet = (data == 0x300);
+ m_mcu_input_snippet = (data == 0x100);
+ m_mcu_jsr_snippet = (data == 0x300);
break;
}
}
-static READ16_HANDLER(sharedram_r)
+READ16_MEMBER(bigfghtr_state::sharedram_r)
{
- bigfghtr_state *state = space->machine().driver_data<bigfghtr_state>();
- if(state->m_mcu_input_snippet)
+ if(m_mcu_input_snippet)
{
switch(offset+0x600/2)
{
case 0x640/2:
- if(state->m_read_latch)
+ if(m_read_latch)
{
- state->m_read_latch = 0;
- return space->machine().rand(); // TODO
+ m_read_latch = 0;
+ return machine().rand(); // TODO
}
break;
case 0x642/2:
- return (input_port_read(space->machine(), "DSW0") & 0xffff) ^ 0xffff;
+ return (input_port_read(machine(), "DSW0") & 0xffff) ^ 0xffff;
case 0x644/2:
- return (input_port_read(space->machine(), "DSW1") & 0xffff) ^ 0xffff;
+ return (input_port_read(machine(), "DSW1") & 0xffff) ^ 0xffff;
case 0x646/2:
- return (input_port_read(space->machine(), "P1") & 0xffff) ^ 0xffff;
+ return (input_port_read(machine(), "P1") & 0xffff) ^ 0xffff;
case 0x648/2:
- return (input_port_read(space->machine(), "P2") & 0xffff) ^ 0xffff;
+ return (input_port_read(machine(), "P2") & 0xffff) ^ 0xffff;
}
}
- if(state->m_mcu_jsr_snippet)
+ if(m_mcu_jsr_snippet)
{
switch(offset+0x600/2)
{
case 0x640/2:
- if(state->m_read_latch)
+ if(m_read_latch)
{
- state->m_read_latch = 0;
- return space->machine().rand(); // TODO
+ m_read_latch = 0;
+ return machine().rand(); // TODO
}
break;
case 0x642/2:
- return (input_port_read(space->machine(), "DSW0") & 0xffff) ^ 0xffff;
+ return (input_port_read(machine(), "DSW0") & 0xffff) ^ 0xffff;
case 0x644/2:
- return (input_port_read(space->machine(), "DSW1") & 0xffff) ^ 0xffff;
+ return (input_port_read(machine(), "DSW1") & 0xffff) ^ 0xffff;
case 0x646/2:
- return (input_port_read(space->machine(), "P1") & 0xffff) ^ 0xffff;
+ return (input_port_read(machine(), "P1") & 0xffff) ^ 0xffff;
case 0x648/2:
- return (input_port_read(space->machine(), "P2") & 0xffff) ^ 0xffff;
+ return (input_port_read(machine(), "P2") & 0xffff) ^ 0xffff;
/*
protection controls where the program code should jump to.
@@ -674,13 +667,13 @@ static READ16_HANDLER(sharedram_r)
}
}
- return state->m_sharedram[offset];
+ return m_sharedram[offset];
}
static ADDRESS_MAP_START( bigfghtr_map, AS_PROGRAM, 16, bigfghtr_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x0805ff) AM_RAM AM_SHARE("spriteram")
- AM_RANGE(0x080600, 0x083fff) AM_READWRITE_LEGACY(sharedram_r, sharedram_w) AM_BASE(m_sharedram)
+ AM_RANGE(0x080600, 0x083fff) AM_READWRITE(sharedram_r, sharedram_w) AM_BASE(m_sharedram)
AM_RANGE(0x084000, 0x085fff) AM_RAM //work ram
AM_RANGE(0x086000, 0x086fff) AM_RAM_WRITE_LEGACY(armedf_bg_videoram_w) AM_BASE(m_bg_videoram)
AM_RANGE(0x087000, 0x087fff) AM_RAM_WRITE_LEGACY(armedf_fg_videoram_w) AM_BASE(m_fg_videoram)
@@ -691,16 +684,16 @@ static ADDRESS_MAP_START( bigfghtr_map, AS_PROGRAM, 16, bigfghtr_state )
AM_RANGE(0x08c002, 0x08c003) AM_READ_PORT("P2")
AM_RANGE(0x08c004, 0x08c005) AM_READ_PORT("DSW0")
AM_RANGE(0x08c006, 0x08c007) AM_READ_PORT("DSW1")
- AM_RANGE(0x08d000, 0x08d001) AM_WRITE_LEGACY(terraf_io_w) //807b0
+ AM_RANGE(0x08d000, 0x08d001) AM_WRITE(terraf_io_w) //807b0
AM_RANGE(0x08d002, 0x08d003) AM_WRITE_LEGACY(armedf_bg_scrollx_w)
AM_RANGE(0x08d004, 0x08d005) AM_WRITE_LEGACY(armedf_bg_scrolly_w)
AM_RANGE(0x08d006, 0x08d007) AM_WRITE_LEGACY(armedf_fg_scrollx_w)
AM_RANGE(0x08d008, 0x08d009) AM_WRITE_LEGACY(armedf_fg_scrolly_w)
- AM_RANGE(0x08d00a, 0x08d00b) AM_WRITE_LEGACY(sound_command_w)
+ AM_RANGE(0x08d00a, 0x08d00b) AM_WRITE(sound_command_w)
AM_RANGE(0x08d00c, 0x08d00d) AM_WRITENOP //watchdog
- AM_RANGE(0x08d00e, 0x08d00f) AM_WRITE_LEGACY(irq_lv1_ack_w)
+ AM_RANGE(0x08d00e, 0x08d00f) AM_WRITE(irq_lv1_ack_w)
- AM_RANGE(0x400000, 0x400001) AM_READ_LEGACY(latch_r)
+ AM_RANGE(0x400000, 0x400001) AM_READ(latch_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, armedf_state )
@@ -713,55 +706,50 @@ static ADDRESS_MAP_START( cclimbr2_soundmap, AS_PROGRAM, 8, armedf_state )
AM_RANGE(0xc000, 0xffff) AM_RAM
ADDRESS_MAP_END
-static READ8_HANDLER( blitter_txram_r )
+READ8_MEMBER(armedf_state::blitter_txram_r)
{
- armedf_state *state = space->machine().driver_data<armedf_state>();
- return state->m_text_videoram[offset] & 0xff;
+ return m_text_videoram[offset] & 0xff;
}
-static WRITE8_HANDLER( blitter_txram_w )
+WRITE8_MEMBER(armedf_state::blitter_txram_w)
{
- armedf_state *state = space->machine().driver_data<armedf_state>();
- state->m_text_videoram[offset] = (data & 0xff) | (state->m_text_videoram[offset] & 0xff00);
- state->m_tx_tilemap->mark_tile_dirty(offset);
+ m_text_videoram[offset] = (data & 0xff) | (m_text_videoram[offset] & 0xff00);
+ m_tx_tilemap->mark_tile_dirty(offset);
}
-static WRITE8_HANDLER( fg_scrollx_w )
+WRITE8_MEMBER(armedf_state::fg_scrollx_w)
{
- armedf_state *state = space->machine().driver_data<armedf_state>();
- state->m_fg_scrollx = (data & 0xff) | (state->m_fg_scrollx & 0x300);
+ m_fg_scrollx = (data & 0xff) | (m_fg_scrollx & 0x300);
}
-static WRITE8_HANDLER( fg_scrolly_w )
+WRITE8_MEMBER(armedf_state::fg_scrolly_w)
{
- armedf_state *state = space->machine().driver_data<armedf_state>();
- state->m_fg_scrolly = (data & 0xff) | (state->m_fg_scrolly & 0x300);
+ m_fg_scrolly = (data & 0xff) | (m_fg_scrolly & 0x300);
}
-static WRITE8_HANDLER( fg_scroll_msb_w )
+WRITE8_MEMBER(armedf_state::fg_scroll_msb_w)
{
- armedf_state *state = space->machine().driver_data<armedf_state>();
- state->m_fg_scrolly = (((data & 0x03) >> 0) << 8) | (state->m_fg_scrolly & 0xff);
- state->m_fg_scrollx = (((data & 0x0c) >> 2) << 8) | (state->m_fg_scrollx & 0xff);
+ m_fg_scrolly = (((data & 0x03) >> 0) << 8) | (m_fg_scrolly & 0xff);
+ m_fg_scrollx = (((data & 0x0c) >> 2) << 8) | (m_fg_scrollx & 0xff);
}
static ADDRESS_MAP_START( terrafb_extraz80_map, AS_PROGRAM, 8, armedf_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
- AM_RANGE(0x4000, 0x5fff) AM_READWRITE_LEGACY(blitter_txram_r,blitter_txram_w)
+ AM_RANGE(0x4000, 0x5fff) AM_READWRITE(blitter_txram_r,blitter_txram_w)
AM_RANGE(0x8000, 0x87ff) AM_RAM
ADDRESS_MAP_END
static ADDRESS_MAP_START( terrafb_extraz80_portmap, AS_IO, 8, armedf_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00,0x00) AM_WRITE_LEGACY(fg_scrollx_w)
- AM_RANGE(0x01,0x01) AM_WRITE_LEGACY(fg_scrolly_w)
- AM_RANGE(0x02,0x02) AM_WRITE_LEGACY(fg_scroll_msb_w)
+ AM_RANGE(0x00,0x00) AM_WRITE(fg_scrollx_w)
+ AM_RANGE(0x01,0x01) AM_WRITE(fg_scrolly_w)
+ AM_RANGE(0x02,0x02) AM_WRITE(fg_scroll_msb_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, armedf_state )
@@ -769,7 +757,7 @@ static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, armedf_state )
AM_RANGE(0x0, 0x1) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
AM_RANGE(0x2, 0x2) AM_DEVWRITE_LEGACY("dac1", dac_signed_w)
AM_RANGE(0x3, 0x3) AM_DEVWRITE_LEGACY("dac2", dac_signed_w)
- AM_RANGE(0x4, 0x4) AM_READ_LEGACY(soundlatch_clear_r)
+ AM_RANGE(0x4, 0x4) AM_READ(soundlatch_clear_r)
AM_RANGE(0x6, 0x6) AM_READ_LEGACY(soundlatch_r)
ADDRESS_MAP_END
@@ -2053,7 +2041,7 @@ static DRIVER_INIT( terraf )
armedf_state *state = machine.driver_data<armedf_state>();
state->m_scroll_type = 0;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x07c000, 0x07c001, FUNC(bootleg_io_w) );
+ machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::bootleg_io_w),state));
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x07c006, 0x07c007, FUNC(terraf_fg_scrolly_w) );
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x07c008, 0x07c009, FUNC(terraf_fg_scrollx_w) );
machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x0c0000, 0x0c0001, FUNC(terraf_fg_scroll_msb_arm_w) );
@@ -2064,7 +2052,7 @@ static DRIVER_INIT( terrafu )
armedf_state *state = machine.driver_data<armedf_state>();
state->m_scroll_type = 0;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x07c000, 0x07c001, FUNC(terraf_io_w) );
+ machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terraf_io_w),state));
}
static DRIVER_INIT( terrafb )
@@ -2072,7 +2060,7 @@ static DRIVER_INIT( terrafb )
armedf_state *state = machine.driver_data<armedf_state>();
state->m_scroll_type = 0;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x07c000, 0x07c001, FUNC(terrafb_io_w) );
+ machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terrafb_io_w),state));
}
static DRIVER_INIT( armedf )
@@ -2087,7 +2075,7 @@ static DRIVER_INIT( kozure )
armedf_state *state = machine.driver_data<armedf_state>();
state->m_scroll_type = 0;
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x07c000, 0x07c001, FUNC(terraf_io_w) );
+ machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terraf_io_w),state));
}
@@ -2103,7 +2091,7 @@ static DRIVER_INIT( legion )
RAM[0x000488 / 2] = 0x4e71;
#endif
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x07c000, 0x07c001, FUNC(terraf_io_w) );
+ machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terraf_io_w),state));
state->m_scroll_type = 2;
}
@@ -2119,7 +2107,7 @@ static DRIVER_INIT( legiono )
/* No need to patch the checksum routine (see notes) ! */
#endif
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x07c000, 0x07c001, FUNC(bootleg_io_w) );
+ machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::bootleg_io_w),state));
state->m_scroll_type = 2;
}
@@ -2128,7 +2116,7 @@ static DRIVER_INIT( cclimbr2 )
{
armedf_state *state = machine.driver_data<armedf_state>();
- machine.device("maincpu")->memory().space(AS_PROGRAM)->install_legacy_write_handler(0x07c000, 0x07c001, FUNC(terraf_io_w) );
+ machine.device("maincpu")->memory().space(AS_PROGRAM)->install_write_handler(0x07c000, 0x07c001, write16_delegate(FUNC(armedf_state::terraf_io_w),state));
state->m_scroll_type = 3;
}