summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/taito_b.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/taito_b.c')
-rw-r--r--src/mame/drivers/taito_b.c139
1 files changed, 66 insertions, 73 deletions
diff --git a/src/mame/drivers/taito_b.c b/src/mame/drivers/taito_b.c
index 1e1be987e9f..db85f172c53 100644
--- a/src/mame/drivers/taito_b.c
+++ b/src/mame/drivers/taito_b.c
@@ -191,9 +191,9 @@ TODO!
#include "video/taitoic.h"
#include "includes/taito_b.h"
-static WRITE8_HANDLER( bankswitch_w )
+WRITE8_MEMBER(taitob_state::bankswitch_w)
{
- memory_set_bank(space->machine(), "bank1", (data - 1) & 3);
+ memory_set_bank(machine(), "bank1", (data - 1) & 3);
}
static TIMER_CALLBACK( rsaga2_interrupt2 )
@@ -334,60 +334,59 @@ static INTERRUPT_GEN( realpunc_interrupt )//2
-static READ16_HANDLER( tracky1_hi_r )
+READ16_MEMBER(taitob_state::tracky1_hi_r)
{
- return input_port_read(space->machine(), "TRACKX1");
+ return input_port_read(machine(), "TRACKX1");
}
-static READ16_HANDLER( tracky1_lo_r )
+READ16_MEMBER(taitob_state::tracky1_lo_r)
{
- return (input_port_read(space->machine(), "TRACKX1") & 0xff) << 8;
+ return (input_port_read(machine(), "TRACKX1") & 0xff) << 8;
}
-static READ16_HANDLER( trackx1_hi_r )
+READ16_MEMBER(taitob_state::trackx1_hi_r)
{
- return input_port_read(space->machine(), "TRACKY1");
+ return input_port_read(machine(), "TRACKY1");
}
-static READ16_HANDLER( trackx1_lo_r )
+READ16_MEMBER(taitob_state::trackx1_lo_r)
{
- return (input_port_read(space->machine(), "TRACKY1") & 0xff) << 8;
+ return (input_port_read(machine(), "TRACKY1") & 0xff) << 8;
}
-static READ16_HANDLER( tracky2_hi_r )
+READ16_MEMBER(taitob_state::tracky2_hi_r)
{
- return input_port_read(space->machine(), "TRACKX2");
+ return input_port_read(machine(), "TRACKX2");
}
-static READ16_HANDLER( tracky2_lo_r )
+READ16_MEMBER(taitob_state::tracky2_lo_r)
{
- return (input_port_read(space->machine(), "TRACKX2") & 0xff) << 8;
+ return (input_port_read(machine(), "TRACKX2") & 0xff) << 8;
}
-static READ16_HANDLER( trackx2_hi_r )
+READ16_MEMBER(taitob_state::trackx2_hi_r)
{
- return input_port_read(space->machine(), "TRACKY2");
+ return input_port_read(machine(), "TRACKY2");
}
-static READ16_HANDLER( trackx2_lo_r )
+READ16_MEMBER(taitob_state::trackx2_lo_r)
{
- return (input_port_read(space->machine(), "TRACKY2") & 0xff) << 8;
+ return (input_port_read(machine(), "TRACKY2") & 0xff) << 8;
}
-static WRITE16_HANDLER( gain_control_w )
+WRITE16_MEMBER(taitob_state::gain_control_w)
{
- taitob_state *state = space->machine().driver_data<taitob_state>();
if (ACCESSING_BITS_8_15)
{
if (offset == 0)
{
- mb87078_data_w(state->m_mb87078, data >> 8, 0);
+ mb87078_data_w(m_mb87078, data >> 8, 0);
//logerror("MB87078 dsel=0 data=%4x\n", data);
}
else
{
- mb87078_data_w(state->m_mb87078, data >> 8, 1);
+ mb87078_data_w(m_mb87078, data >> 8, 1);
//logerror("MB87078 dsel=1 data=%4x\n", data);
}
}
@@ -416,17 +415,15 @@ static const eeprom_interface taitob_eeprom_intf =
"0100110000" /* unlock command*/
};
-static READ16_HANDLER( eep_latch_r )
+READ16_MEMBER(taitob_state::eep_latch_r)
{
- taitob_state *state = space->machine().driver_data<taitob_state>();
- return state->m_eep_latch;
+ return m_eep_latch;
}
-static WRITE16_HANDLER( eeprom_w )
+WRITE16_MEMBER(taitob_state::eeprom_w)
{
- taitob_state *state = space->machine().driver_data<taitob_state>();
- COMBINE_DATA(&state->m_eep_latch);
+ COMBINE_DATA(&m_eep_latch);
if (ACCESSING_BITS_8_15)
{
@@ -442,7 +439,7 @@ static WRITE16_HANDLER( eeprom_w )
/* bit 7 - set all the time (Chip Select?) */
/* EEPROM */
- input_port_write(space->machine(), "EEPROMOUT", data, 0xff);
+ input_port_write(machine(), "EEPROMOUT", data, 0xff);
}
}
@@ -457,51 +454,47 @@ static WRITE16_HANDLER( eeprom_w )
*************************************************************************/
-static READ16_HANDLER( player_34_coin_ctrl_r )
+READ16_MEMBER(taitob_state::player_34_coin_ctrl_r)
{
- taitob_state *state = space->machine().driver_data<taitob_state>();
- return state->m_coin_word;
+ return m_coin_word;
}
-static WRITE16_HANDLER( player_34_coin_ctrl_w )
+WRITE16_MEMBER(taitob_state::player_34_coin_ctrl_w)
{
- taitob_state *state = space->machine().driver_data<taitob_state>();
- COMBINE_DATA(&state->m_coin_word);
+ COMBINE_DATA(&m_coin_word);
/* coin counters and lockout */
- coin_lockout_w(space->machine(), 2, ~data & 0x0100);
- coin_lockout_w(space->machine(), 3, ~data & 0x0200);
- coin_counter_w(space->machine(), 2, data & 0x0400);
- coin_counter_w(space->machine(), 3, data & 0x0800);
+ coin_lockout_w(machine(), 2, ~data & 0x0100);
+ coin_lockout_w(machine(), 3, ~data & 0x0200);
+ coin_counter_w(machine(), 2, data & 0x0400);
+ coin_counter_w(machine(), 3, data & 0x0800);
}
-static READ16_HANDLER( pbobble_input_bypass_r )
+READ16_MEMBER(taitob_state::pbobble_input_bypass_r)
{
- taitob_state *state = space->machine().driver_data<taitob_state>();
switch (offset)
{
case 0x01:
- return input_port_read(space->machine(), "COIN") << 8;
+ return input_port_read(machine(), "COIN") << 8;
default:
- return tc0640fio_r(state->m_tc0640fio, offset) << 8;
+ return tc0640fio_r(m_tc0640fio, offset) << 8;
}
}
-static WRITE16_HANDLER( spacedxo_tc0220ioc_w )
+WRITE16_MEMBER(taitob_state::spacedxo_tc0220ioc_w)
{
- taitob_state *state = space->machine().driver_data<taitob_state>();
if (ACCESSING_BITS_0_7)
- tc0220ioc_w(state->m_tc0220ioc, offset, data & 0xff);
+ tc0220ioc_w(m_tc0220ioc, offset, data & 0xff);
else
{
- /* spacedxo also writes here - bug? */
- tc0220ioc_w(state->m_tc0220ioc, offset, (data >> 8) & 0xff);
+ /* &spacedxo also writes here - bug? */
+ tc0220ioc_w(m_tc0220ioc, offset, (data >> 8) & 0xff);
}
}
-static WRITE16_HANDLER( realpunc_output_w )
+WRITE16_MEMBER(taitob_state::realpunc_output_w)
{
/*
15 = Camera Enable?
@@ -586,14 +579,14 @@ static ADDRESS_MAP_START( rambo3_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
TC0180VCU_MEMRW( 0x400000 )
AM_RANGE(0x600000, 0x60000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0xff00)
- AM_RANGE(0x600010, 0x600011) AM_READ_LEGACY(tracky1_lo_r) /*player 1*/
- AM_RANGE(0x600012, 0x600013) AM_READ_LEGACY(tracky1_hi_r)
- AM_RANGE(0x600014, 0x600015) AM_READ_LEGACY(trackx1_lo_r)
- AM_RANGE(0x600016, 0x600017) AM_READ_LEGACY(trackx1_hi_r)
- AM_RANGE(0x600018, 0x600019) AM_READ_LEGACY(tracky2_lo_r) /*player 2*/
- AM_RANGE(0x60001a, 0x60001b) AM_READ_LEGACY(tracky2_hi_r)
- AM_RANGE(0x60001c, 0x60001d) AM_READ_LEGACY(trackx2_lo_r)
- AM_RANGE(0x60001e, 0x60001f) AM_READ_LEGACY(trackx2_hi_r)
+ AM_RANGE(0x600010, 0x600011) AM_READ(tracky1_lo_r) /*player 1*/
+ AM_RANGE(0x600012, 0x600013) AM_READ(tracky1_hi_r)
+ AM_RANGE(0x600014, 0x600015) AM_READ(trackx1_lo_r)
+ AM_RANGE(0x600016, 0x600017) AM_READ(trackx1_hi_r)
+ AM_RANGE(0x600018, 0x600019) AM_READ(tracky2_lo_r) /*player 2*/
+ AM_RANGE(0x60001a, 0x60001b) AM_READ(tracky2_hi_r)
+ AM_RANGE(0x60001c, 0x60001d) AM_READ(trackx2_lo_r)
+ AM_RANGE(0x60001e, 0x60001f) AM_READ(trackx2_hi_r)
AM_RANGE(0x800000, 0x803fff) AM_RAM /* Main RAM */
AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
ADDRESS_MAP_END
@@ -602,12 +595,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pbobble_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
TC0180VCU_MEMRW( 0x400000 )
- AM_RANGE(0x500000, 0x50000f) AM_READ_LEGACY(pbobble_input_bypass_r) AM_DEVWRITE_LEGACY("tc0640fio", tc0640fio_halfword_byteswap_w)
+ AM_RANGE(0x500000, 0x50000f) AM_READ(pbobble_input_bypass_r) AM_DEVWRITE_LEGACY("tc0640fio", tc0640fio_halfword_byteswap_w)
AM_RANGE(0x500024, 0x500025) AM_READ_PORT("P3_P4_A") /* shown in service mode, game omits to read it */
- AM_RANGE(0x500026, 0x500027) AM_READWRITE_LEGACY(eep_latch_r, eeprom_w)
- AM_RANGE(0x500028, 0x500029) AM_WRITE_LEGACY(player_34_coin_ctrl_w) /* simply locks coins 3&4 out */
+ AM_RANGE(0x500026, 0x500027) AM_READWRITE(eep_latch_r, eeprom_w)
+ AM_RANGE(0x500028, 0x500029) AM_WRITE(player_34_coin_ctrl_w) /* simply locks coins 3&4 out */
AM_RANGE(0x50002e, 0x50002f) AM_READ_PORT("P3_P4_B") /* shown in service mode, game omits to read it */
- AM_RANGE(0x600000, 0x600003) AM_WRITE_LEGACY(gain_control_w)
+ AM_RANGE(0x600000, 0x600003) AM_WRITE(gain_control_w)
AM_RANGE(0x700000, 0x700001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x700002, 0x700003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
@@ -618,12 +611,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( spacedx_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
TC0180VCU_MEMRW( 0x400000 )
- AM_RANGE(0x500000, 0x50000f) AM_READ_LEGACY(pbobble_input_bypass_r) AM_DEVWRITE_LEGACY("tc0640fio", tc0640fio_halfword_byteswap_w)
+ AM_RANGE(0x500000, 0x50000f) AM_READ(pbobble_input_bypass_r) AM_DEVWRITE_LEGACY("tc0640fio", tc0640fio_halfword_byteswap_w)
AM_RANGE(0x500024, 0x500025) AM_READ_PORT("P3_P4_A")
- AM_RANGE(0x500026, 0x500027) AM_READWRITE_LEGACY(eep_latch_r, eeprom_w)
- AM_RANGE(0x500028, 0x500029) AM_WRITE_LEGACY(player_34_coin_ctrl_w) /* simply locks coins 3&4 out */
+ AM_RANGE(0x500026, 0x500027) AM_READWRITE(eep_latch_r, eeprom_w)
+ AM_RANGE(0x500028, 0x500029) AM_WRITE(player_34_coin_ctrl_w) /* simply locks coins 3&4 out */
AM_RANGE(0x50002e, 0x50002f) AM_READ_PORT("P3_P4_B")
- AM_RANGE(0x600000, 0x600003) AM_WRITE_LEGACY(gain_control_w)
+ AM_RANGE(0x600000, 0x600003) AM_WRITE(gain_control_w)
AM_RANGE(0x700000, 0x700001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x700002, 0x700003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
@@ -634,7 +627,7 @@ static ADDRESS_MAP_START( spacedxo_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x100001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x100002, 0x100003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
- AM_RANGE(0x200000, 0x20000f) AM_DEVREAD8_LEGACY("tc0220ioc", tc0220ioc_r, 0x00ff) AM_WRITE_LEGACY(spacedxo_tc0220ioc_w)
+ AM_RANGE(0x200000, 0x20000f) AM_DEVREAD8_LEGACY("tc0220ioc", tc0220ioc_r, 0x00ff) AM_WRITE(spacedxo_tc0220ioc_w)
AM_RANGE(0x210000, 0x210001) AM_READ_PORT("IN3")
AM_RANGE(0x220000, 0x220001) AM_READ_PORT("IN4")
AM_RANGE(0x230000, 0x230001) AM_READ_PORT("IN5")
@@ -647,15 +640,15 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( qzshowby_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
- AM_RANGE(0x200000, 0x20000f) AM_READ_LEGACY(pbobble_input_bypass_r) AM_DEVWRITE_LEGACY("tc0640fio", tc0640fio_halfword_byteswap_w)
+ AM_RANGE(0x200000, 0x20000f) AM_READ(pbobble_input_bypass_r) AM_DEVWRITE_LEGACY("tc0640fio", tc0640fio_halfword_byteswap_w)
AM_RANGE(0x200024, 0x200025) AM_READ_PORT("P3_P4_A") /* player 3,4 start */
- AM_RANGE(0x200026, 0x200027) AM_WRITE_LEGACY(eeprom_w)
- AM_RANGE(0x200028, 0x200029) AM_READWRITE_LEGACY(player_34_coin_ctrl_r, player_34_coin_ctrl_w)
+ AM_RANGE(0x200026, 0x200027) AM_WRITE(eeprom_w)
+ AM_RANGE(0x200028, 0x200029) AM_READWRITE(player_34_coin_ctrl_r, player_34_coin_ctrl_w)
AM_RANGE(0x20002e, 0x20002f) AM_READ_PORT("P3_P4_B") /* player 3,4 buttons */
TC0180VCU_MEMRW( 0x400000 )
AM_RANGE(0x600000, 0x600001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x600002, 0x600003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
- AM_RANGE(0x700000, 0x700003) AM_WRITE_LEGACY(gain_control_w)
+ AM_RANGE(0x700000, 0x700003) AM_WRITE(gain_control_w)
AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBRGBx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x900000, 0x90ffff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
@@ -733,7 +726,7 @@ static ADDRESS_MAP_START( realpunc_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x184000, 0x184001) AM_WRITE_LEGACY(realpunc_video_ctrl_w)
AM_RANGE(0x188000, 0x188001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
AM_RANGE(0x188002, 0x188003) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_comm_w, 0xff00)
- AM_RANGE(0x18c000, 0x18c001) AM_WRITE_LEGACY(realpunc_output_w)
+ AM_RANGE(0x18c000, 0x18c001) AM_WRITE(realpunc_output_w)
TC0180VCU_MEMRW( 0x200000 )
AM_RANGE(0x280000, 0x281fff) AM_RAM_WRITE_LEGACY(paletteram16_RRRRGGGGBBBBxxxx_word_w) AM_BASE_GENERIC(paletteram)
AM_RANGE(0x300000, 0x300001) AM_DEVREADWRITE_LEGACY("hd63484", hd63484_status_r, hd63484_address_w)
@@ -763,7 +756,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, taitob_state )
AM_RANGE(0xea00, 0xea00) AM_READNOP
AM_RANGE(0xee00, 0xee00) AM_WRITENOP /* ? */
AM_RANGE(0xf000, 0xf000) AM_WRITENOP /* ? */
- AM_RANGE(0xf200, 0xf200) AM_WRITE_LEGACY(bankswitch_w)
+ AM_RANGE(0xf200, 0xf200) AM_WRITE(bankswitch_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( viofight_sound_map, AS_PROGRAM, 8, taitob_state )
@@ -1929,7 +1922,7 @@ static const ym2203_interface ym2203_config =
AY8910_DEFAULT_LOADS,
DEVCB_NULL,
DEVCB_NULL,
- DEVCB_MEMORY_HANDLER("audiocpu", PROGRAM, bankswitch_w),
+ DEVCB_DRIVER_MEMBER(taitob_state, bankswitch_w),
DEVCB_NULL,
},
irqhandler