summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/bwing.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/bwing.c')
-rw-r--r--src/mame/drivers/bwing.c81
1 files changed, 37 insertions, 44 deletions
diff --git a/src/mame/drivers/bwing.c b/src/mame/drivers/bwing.c
index 25d4f4c6f91..202f954776a 100644
--- a/src/mame/drivers/bwing.c
+++ b/src/mame/drivers/bwing.c
@@ -43,62 +43,56 @@ static INTERRUPT_GEN ( bwp3_interrupt )
//****************************************************************************
// Memory and I/O Handlers
-static WRITE8_HANDLER( bwp12_sharedram1_w )
+WRITE8_MEMBER(bwing_state::bwp12_sharedram1_w)
{
- bwing_state *state = space->machine().driver_data<bwing_state>();
- state->m_bwp1_sharedram1[offset] = state->m_bwp2_sharedram1[offset] = data;
+ m_bwp1_sharedram1[offset] = m_bwp2_sharedram1[offset] = data;
}
-static WRITE8_HANDLER( bwp3_u8F_w )
+WRITE8_MEMBER(bwing_state::bwp3_u8F_w)
{
- bwing_state *state = space->machine().driver_data<bwing_state>();
- state->m_bwp3_u8F_d = data; // prepares custom chip for various operations
+ m_bwp3_u8F_d = data; // prepares custom chip for various operations
}
-static WRITE8_HANDLER( bwp3_nmimask_w )
+WRITE8_MEMBER(bwing_state::bwp3_nmimask_w)
{
- bwing_state *state = space->machine().driver_data<bwing_state>();
- state->m_bwp3_nmimask = data & 0x80;
+ m_bwp3_nmimask = data & 0x80;
}
-static WRITE8_HANDLER( bwp3_nmiack_w )
+WRITE8_MEMBER(bwing_state::bwp3_nmiack_w)
{
- bwing_state *state = space->machine().driver_data<bwing_state>();
- device_set_input_line(state->m_audiocpu, INPUT_LINE_NMI, CLEAR_LINE);
+ device_set_input_line(m_audiocpu, INPUT_LINE_NMI, CLEAR_LINE);
}
-static READ8_HANDLER( bwp1_io_r )
+READ8_MEMBER(bwing_state::bwp1_io_r)
{
- bwing_state *state = space->machine().driver_data<bwing_state>();
- if (offset == 0) return(input_port_read(space->machine(), "DSW0"));
- if (offset == 1) return(input_port_read(space->machine(), "DSW1"));
- if (offset == 2) return(input_port_read(space->machine(), "IN0"));
- if (offset == 3) return(input_port_read(space->machine(), "IN1"));
- if (offset == 4) return(input_port_read(space->machine(), "IN2"));
+ if (offset == 0) return(input_port_read(machine(), "DSW0"));
+ if (offset == 1) return(input_port_read(machine(), "DSW1"));
+ if (offset == 2) return(input_port_read(machine(), "IN0"));
+ if (offset == 3) return(input_port_read(machine(), "IN1"));
+ if (offset == 4) return(input_port_read(machine(), "IN2"));
- return((state->m_bwp123_membase[0])[0x1b00 + offset]);
+ return((m_bwp123_membase[0])[0x1b00 + offset]);
}
-static WRITE8_HANDLER( bwp1_ctrl_w )
+WRITE8_MEMBER(bwing_state::bwp1_ctrl_w)
{
- bwing_state *state = space->machine().driver_data<bwing_state>();
switch (offset)
{
// MSSTB
- case 0: device_set_input_line(state->m_subcpu, M6809_IRQ_LINE, ASSERT_LINE); break;
+ case 0: device_set_input_line(m_subcpu, M6809_IRQ_LINE, ASSERT_LINE); break;
// IRQACK
- case 1: device_set_input_line(state->m_maincpu, M6809_IRQ_LINE, CLEAR_LINE); break;
+ case 1: device_set_input_line(m_maincpu, M6809_IRQ_LINE, CLEAR_LINE); break;
// FIRQACK
- case 2: device_set_input_line(state->m_maincpu, M6809_FIRQ_LINE, CLEAR_LINE); break;
+ case 2: device_set_input_line(m_maincpu, M6809_FIRQ_LINE, CLEAR_LINE); break;
// NMIACK
- case 3: device_set_input_line(state->m_maincpu, INPUT_LINE_NMI, CLEAR_LINE); break;
+ case 3: device_set_input_line(m_maincpu, INPUT_LINE_NMI, CLEAR_LINE); break;
// SWAP(bank-swaps sprite RAM between 1800 & 1900; ignored bc. they're treated as a single chunk.)
case 4: break;
@@ -106,11 +100,11 @@ static WRITE8_HANDLER( bwp1_ctrl_w )
// SNDREQ
case 5:
if (data == 0x80) // protection trick to screw CPU1 & 3
- device_set_input_line(state->m_subcpu, INPUT_LINE_NMI, ASSERT_LINE); // SNMI
+ device_set_input_line(m_subcpu, INPUT_LINE_NMI, ASSERT_LINE); // SNMI
else
{
soundlatch_w(space, 0, data);
- device_set_input_line(state->m_audiocpu, DECO16_IRQ_LINE, HOLD_LINE); // SNDREQ
+ device_set_input_line(m_audiocpu, DECO16_IRQ_LINE, HOLD_LINE); // SNDREQ
}
break;
@@ -122,28 +116,27 @@ static WRITE8_HANDLER( bwp1_ctrl_w )
}
#if BW_DEBUG
- (state->m_bwp123_membase[0])[0x1c00 + offset] = data;
+ (m_bwp123_membase[0])[0x1c00 + offset] = data;
#endif
}
-static WRITE8_HANDLER( bwp2_ctrl_w )
+WRITE8_MEMBER(bwing_state::bwp2_ctrl_w)
{
- bwing_state *state = space->machine().driver_data<bwing_state>();
switch (offset)
{
- case 0: device_set_input_line(state->m_maincpu, M6809_IRQ_LINE, ASSERT_LINE); break; // SMSTB
+ case 0: device_set_input_line(m_maincpu, M6809_IRQ_LINE, ASSERT_LINE); break; // SMSTB
- case 1: device_set_input_line(state->m_subcpu, M6809_FIRQ_LINE, CLEAR_LINE); break;
+ case 1: device_set_input_line(m_subcpu, M6809_FIRQ_LINE, CLEAR_LINE); break;
- case 2: device_set_input_line(state->m_subcpu, M6809_IRQ_LINE, CLEAR_LINE); break;
+ case 2: device_set_input_line(m_subcpu, M6809_IRQ_LINE, CLEAR_LINE); break;
- case 3: device_set_input_line(state->m_subcpu, INPUT_LINE_NMI, CLEAR_LINE); break;
+ case 3: device_set_input_line(m_subcpu, INPUT_LINE_NMI, CLEAR_LINE); break;
}
#if BW_DEBUG
{
- (state->m_bwp123_membase[1])[0x1800 + offset] = data;
+ (m_bwp123_membase[1])[0x1800 + offset] = data;
}
#endif
}
@@ -153,15 +146,15 @@ static WRITE8_HANDLER( bwp2_ctrl_w )
// Main CPU
static ADDRESS_MAP_START( bwp1_map, AS_PROGRAM, 8, bwing_state )
- AM_RANGE(0x1b00, 0x1b07) AM_READ_LEGACY(bwp1_io_r)
- AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE_LEGACY(bwp12_sharedram1_w) AM_BASE(m_bwp1_sharedram1)
+ AM_RANGE(0x1b00, 0x1b07) AM_READ(bwp1_io_r)
+ AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(bwp12_sharedram1_w) AM_BASE(m_bwp1_sharedram1)
AM_RANGE(0x0800, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE_LEGACY(bwing_videoram_w) AM_BASE(m_videoram)
AM_RANGE(0x1400, 0x17ff) AM_RAM
AM_RANGE(0x1800, 0x19ff) AM_RAM_WRITE_LEGACY(bwing_spriteram_w) AM_BASE(m_spriteram)
AM_RANGE(0x1a00, 0x1aff) AM_RAM_WRITE_LEGACY(bwing_paletteram_w) AM_BASE(m_paletteram)
AM_RANGE(0x1b00, 0x1b07) AM_RAM_WRITE_LEGACY(bwing_scrollreg_w)
- AM_RANGE(0x1c00, 0x1c07) AM_RAM_WRITE_LEGACY(bwp1_ctrl_w)
+ AM_RANGE(0x1c00, 0x1c07) AM_RAM_WRITE(bwp1_ctrl_w)
AM_RANGE(0x2000, 0x3fff) AM_READWRITE_LEGACY(bwing_scrollram_r, bwing_scrollram_w)
AM_RANGE(0x4000, 0xffff) AM_ROM // "B-Wings US" writes to 9631-9632(debug?)
ADDRESS_MAP_END
@@ -169,9 +162,9 @@ ADDRESS_MAP_END
// Sub CPU
static ADDRESS_MAP_START( bwp2_map, AS_PROGRAM, 8, bwing_state )
- AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE_LEGACY(bwp12_sharedram1_w) AM_BASE(m_bwp2_sharedram1)
+ AM_RANGE(0x0000, 0x07ff) AM_RAM_WRITE(bwp12_sharedram1_w) AM_BASE(m_bwp2_sharedram1)
AM_RANGE(0x0800, 0x0fff) AM_RAM
- AM_RANGE(0x1800, 0x1803) AM_WRITE_LEGACY(bwp2_ctrl_w)
+ AM_RANGE(0x1800, 0x1803) AM_WRITE(bwp2_ctrl_w)
AM_RANGE(0xa000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -180,19 +173,19 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( bwp3_map, AS_PROGRAM, 8, bwing_state )
AM_RANGE(0x0000, 0x01ff) AM_RAM
AM_RANGE(0x0200, 0x0200) AM_DEVWRITE_LEGACY("dac", dac_signed_w)
- AM_RANGE(0x1000, 0x1000) AM_WRITE_LEGACY(bwp3_nmiack_w)
+ AM_RANGE(0x1000, 0x1000) AM_WRITE(bwp3_nmiack_w)
AM_RANGE(0x2000, 0x2000) AM_DEVWRITE_LEGACY("ay1", ay8910_data_w)
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE_LEGACY("ay1", ay8910_address_w)
AM_RANGE(0x6000, 0x6000) AM_DEVWRITE_LEGACY("ay2", ay8910_data_w)
AM_RANGE(0x8000, 0x8000) AM_DEVWRITE_LEGACY("ay2", ay8910_address_w)
AM_RANGE(0xa000, 0xa000) AM_READ_LEGACY(soundlatch_r)
- AM_RANGE(0xd000, 0xd000) AM_WRITE_LEGACY(bwp3_nmimask_w)
+ AM_RANGE(0xd000, 0xd000) AM_WRITE(bwp3_nmimask_w)
AM_RANGE(0xe000, 0xffff) AM_ROM AM_BASE_SIZE(m_bwp3_rombase, m_bwp3_romsize)
ADDRESS_MAP_END
static ADDRESS_MAP_START( bwp3_io_map, AS_IO, 8, bwing_state )
- AM_RANGE(0x00, 0x00) AM_READ_PORT("VBLANK") AM_WRITE_LEGACY(bwp3_u8F_w)
+ AM_RANGE(0x00, 0x00) AM_READ_PORT("VBLANK") AM_WRITE(bwp3_u8F_w)
ADDRESS_MAP_END
//****************************************************************************