diff options
Diffstat (limited to 'src/mame/drivers/centiped.c')
-rw-r--r-- | src/mame/drivers/centiped.c | 125 |
1 files changed, 60 insertions, 65 deletions
diff --git a/src/mame/drivers/centiped.c b/src/mame/drivers/centiped.c index 5e47fc9e234..29d943a5ad5 100644 --- a/src/mame/drivers/centiped.c +++ b/src/mame/drivers/centiped.c @@ -484,9 +484,9 @@ static MACHINE_RESET( magworm ) } -static WRITE8_HANDLER( irq_ack_w ) +WRITE8_MEMBER(centiped_state::irq_ack_w) { - cputag_set_input_line(space->machine(), "maincpu", 0, CLEAR_LINE); + cputag_set_input_line(machine(), "maincpu", 0, CLEAR_LINE); } @@ -543,27 +543,26 @@ INLINE int read_trackball(running_machine &machine, int idx, int switch_port) } -static READ8_HANDLER( centiped_IN0_r ) +READ8_MEMBER(centiped_state::centiped_IN0_r) { - return read_trackball(space->machine(), 0, 0); + return read_trackball(machine(), 0, 0); } -static READ8_HANDLER( centiped_IN2_r ) +READ8_MEMBER(centiped_state::centiped_IN2_r) { - return read_trackball(space->machine(), 1, 2); + return read_trackball(machine(), 1, 2); } -static READ8_HANDLER( milliped_IN1_r ) +READ8_MEMBER(centiped_state::milliped_IN1_r) { - return read_trackball(space->machine(), 1, 1); + return read_trackball(machine(), 1, 1); } -static READ8_HANDLER( milliped_IN2_r ) +READ8_MEMBER(centiped_state::milliped_IN2_r) { - centiped_state *state = space->machine().driver_data<centiped_state>(); - UINT8 data = input_port_read(space->machine(), "IN2"); + UINT8 data = input_port_read(machine(), "IN2"); /* MSH - 15 Feb, 2007 * The P2 X Joystick inputs are not properly handled in @@ -572,9 +571,9 @@ static READ8_HANDLER( milliped_IN2_r ) * the inputs, and has the good side effect of disabling * the actual Joy1 inputs while control_select is no zero. */ - if (0 != state->m_control_select) { + if (0 != m_control_select) { /* Bottom 4 bits is our joystick inputs */ - UINT8 joy2data = input_port_read(space->machine(), "IN3") & 0x0f; + UINT8 joy2data = input_port_read(machine(), "IN3") & 0x0f; data = data & 0xf0; /* Keep the top 4 bits */ data |= (joy2data & 0x0a) >> 1; /* flip left and up */ data |= (joy2data & 0x05) << 1; /* flip right and down */ @@ -582,41 +581,37 @@ static READ8_HANDLER( milliped_IN2_r ) return data; } -static WRITE8_HANDLER( input_select_w ) +WRITE8_MEMBER(centiped_state::input_select_w) { - centiped_state *state = space->machine().driver_data<centiped_state>(); - state->m_dsw_select = (~data >> 7) & 1; + m_dsw_select = (~data >> 7) & 1; } /* used P2 controls if 1, P1 controls if 0 */ -static WRITE8_HANDLER( control_select_w ) +WRITE8_MEMBER(centiped_state::control_select_w) { - centiped_state *state = space->machine().driver_data<centiped_state>(); - state->m_control_select = (data >> 7) & 1; + m_control_select = (data >> 7) & 1; } -static READ8_HANDLER( mazeinv_input_r ) +READ8_MEMBER(centiped_state::mazeinv_input_r) { - centiped_state *state = space->machine().driver_data<centiped_state>(); static const char *const sticknames[] = { "STICK0", "STICK1", "STICK2", "STICK3" }; - return input_port_read(space->machine(), sticknames[state->m_control_select]); + return input_port_read(machine(), sticknames[m_control_select]); } -static WRITE8_HANDLER( mazeinv_input_select_w ) +WRITE8_MEMBER(centiped_state::mazeinv_input_select_w) { - centiped_state *state = space->machine().driver_data<centiped_state>(); - state->m_control_select = offset & 3; + m_control_select = offset & 3; } -static READ8_HANDLER( bullsdrt_data_port_r ) +READ8_MEMBER(centiped_state::bullsdrt_data_port_r) { - switch (cpu_get_pc(&space->device())) + switch (cpu_get_pc(&space.device())) { case 0x0033: case 0x6b19: @@ -634,9 +629,9 @@ static READ8_HANDLER( bullsdrt_data_port_r ) * *************************************/ -static WRITE8_HANDLER( led_w ) +WRITE8_MEMBER(centiped_state::led_w) { - set_led_status(space->machine(), offset, ~data & 0x80); + set_led_status(machine(), offset, ~data & 0x80); } @@ -646,15 +641,15 @@ static READ8_DEVICE_HANDLER( caterplr_rand_r ) } -static WRITE8_HANDLER( coin_count_w ) +WRITE8_MEMBER(centiped_state::coin_count_w) { - coin_counter_w(space->machine(), offset, data); + coin_counter_w(machine(), offset, data); } -static WRITE8_HANDLER( bullsdrt_coin_count_w ) +WRITE8_MEMBER(centiped_state::bullsdrt_coin_count_w) { - coin_counter_w(space->machine(), 0, data); + coin_counter_w(machine(), 0, data); } @@ -693,18 +688,18 @@ static ADDRESS_MAP_START( centiped_map, AS_PROGRAM, 8, centiped_state ) AM_RANGE(0x07c0, 0x07ff) AM_RAM AM_BASE(m_spriteram) AM_RANGE(0x0800, 0x0800) AM_READ_PORT("DSW1") /* DSW1 */ AM_RANGE(0x0801, 0x0801) AM_READ_PORT("DSW2") /* DSW2 */ - AM_RANGE(0x0c00, 0x0c00) AM_READ_LEGACY(centiped_IN0_r) /* IN0 */ + AM_RANGE(0x0c00, 0x0c00) AM_READ(centiped_IN0_r) /* IN0 */ AM_RANGE(0x0c01, 0x0c01) AM_READ_PORT("IN1") /* IN1 */ - AM_RANGE(0x0c02, 0x0c02) AM_READ_LEGACY(centiped_IN2_r) /* IN2 */ + AM_RANGE(0x0c02, 0x0c02) AM_READ(centiped_IN2_r) /* IN2 */ AM_RANGE(0x0c03, 0x0c03) AM_READ_PORT("IN3") /* IN3 */ AM_RANGE(0x1000, 0x100f) AM_DEVREADWRITE_LEGACY("pokey", pokey_r, pokey_w) AM_RANGE(0x1400, 0x140f) AM_WRITE_LEGACY(centiped_paletteram_w) AM_BASE_GENERIC(paletteram) AM_RANGE(0x1600, 0x163f) AM_DEVWRITE("earom",atari_vg_earom_device, write) AM_RANGE(0x1680, 0x1680) AM_DEVWRITE("earom", atari_vg_earom_device, ctrl_w) AM_RANGE(0x1700, 0x173f) AM_DEVREAD("earom", atari_vg_earom_device, read) - AM_RANGE(0x1800, 0x1800) AM_WRITE_LEGACY(irq_ack_w) - AM_RANGE(0x1c00, 0x1c02) AM_WRITE_LEGACY(coin_count_w) - AM_RANGE(0x1c03, 0x1c04) AM_WRITE_LEGACY(led_w) + AM_RANGE(0x1800, 0x1800) AM_WRITE(irq_ack_w) + AM_RANGE(0x1c00, 0x1c02) AM_WRITE(coin_count_w) + AM_RANGE(0x1c03, 0x1c04) AM_WRITE(led_w) AM_RANGE(0x1c07, 0x1c07) AM_WRITE_LEGACY(centiped_flip_screen_w) AM_RANGE(0x2000, 0x2000) AM_WRITE_LEGACY(watchdog_reset_w) AM_RANGE(0x2000, 0x3fff) AM_ROM @@ -718,9 +713,9 @@ static ADDRESS_MAP_START( centipdb_map, AS_PROGRAM, 8, centiped_state ) AM_RANGE(0x07c0, 0x07ff) AM_MIRROR(0x4000) AM_RAM AM_BASE(m_spriteram) AM_RANGE(0x0800, 0x0800) AM_MIRROR(0x4000) AM_READ_PORT("DSW1") /* DSW1 */ AM_RANGE(0x0801, 0x0801) AM_MIRROR(0x4000) AM_READ_PORT("DSW2") /* DSW2 */ - AM_RANGE(0x0c00, 0x0c00) AM_MIRROR(0x4000) AM_READ_LEGACY(centiped_IN0_r) /* IN0 */ + AM_RANGE(0x0c00, 0x0c00) AM_MIRROR(0x4000) AM_READ(centiped_IN0_r) /* IN0 */ AM_RANGE(0x0c01, 0x0c01) AM_MIRROR(0x4000) AM_READ_PORT("IN1") /* IN1 */ - AM_RANGE(0x0c02, 0x0c02) AM_MIRROR(0x4000) AM_READ_LEGACY(centiped_IN2_r) /* IN2 */ + AM_RANGE(0x0c02, 0x0c02) AM_MIRROR(0x4000) AM_READ(centiped_IN2_r) /* IN2 */ AM_RANGE(0x0c03, 0x0c03) AM_MIRROR(0x4000) AM_READ_PORT("IN3") /* IN3 */ AM_RANGE(0x1000, 0x1001) AM_MIRROR(0x4000) AM_DEVWRITE_LEGACY("pokey", ay8910_data_address_w) AM_RANGE(0x1001, 0x1001) AM_MIRROR(0x4000) AM_DEVREAD_LEGACY("pokey", ay8910_r) @@ -728,9 +723,9 @@ static ADDRESS_MAP_START( centipdb_map, AS_PROGRAM, 8, centiped_state ) AM_RANGE(0x1600, 0x163f) AM_MIRROR(0x4000) AM_DEVWRITE("earom", atari_vg_earom_device, write) AM_RANGE(0x1680, 0x1680) AM_MIRROR(0x4000) AM_DEVWRITE("earom", atari_vg_earom_device, ctrl_w) AM_RANGE(0x1700, 0x173f) AM_MIRROR(0x4000) AM_DEVREAD("earom", atari_vg_earom_device, read) - AM_RANGE(0x1800, 0x1800) AM_MIRROR(0x4000) AM_WRITE_LEGACY(irq_ack_w) - AM_RANGE(0x1c00, 0x1c02) AM_MIRROR(0x4000) AM_WRITE_LEGACY(coin_count_w) - AM_RANGE(0x1c03, 0x1c04) AM_MIRROR(0x4000) AM_WRITE_LEGACY(led_w) + AM_RANGE(0x1800, 0x1800) AM_MIRROR(0x4000) AM_WRITE(irq_ack_w) + AM_RANGE(0x1c00, 0x1c02) AM_MIRROR(0x4000) AM_WRITE(coin_count_w) + AM_RANGE(0x1c03, 0x1c04) AM_MIRROR(0x4000) AM_WRITE(led_w) AM_RANGE(0x1c07, 0x1c07) AM_MIRROR(0x4000) AM_WRITE_LEGACY(centiped_flip_screen_w) AM_RANGE(0x2000, 0x27ff) AM_ROM AM_RANGE(0x2800, 0x3fff) AM_MIRROR(0x4000) AM_ROM @@ -752,18 +747,18 @@ static ADDRESS_MAP_START( milliped_map, AS_PROGRAM, 8, centiped_state ) AM_RANGE(0x0800, 0x080f) AM_DEVREADWRITE_LEGACY("pokey2", pokey_r, pokey_w) AM_RANGE(0x1000, 0x13bf) AM_RAM_WRITE_LEGACY(centiped_videoram_w) AM_BASE(m_videoram) AM_RANGE(0x13c0, 0x13ff) AM_RAM AM_BASE(m_spriteram) - AM_RANGE(0x2000, 0x2000) AM_READ_LEGACY(centiped_IN0_r) - AM_RANGE(0x2001, 0x2001) AM_READ_LEGACY(milliped_IN1_r) - AM_RANGE(0x2010, 0x2010) AM_READ_LEGACY(milliped_IN2_r) + AM_RANGE(0x2000, 0x2000) AM_READ(centiped_IN0_r) + AM_RANGE(0x2001, 0x2001) AM_READ(milliped_IN1_r) + AM_RANGE(0x2010, 0x2010) AM_READ(milliped_IN2_r) AM_RANGE(0x2011, 0x2011) AM_READ_PORT("IN3") AM_RANGE(0x2030, 0x2030) AM_DEVREAD("earom", atari_vg_earom_device, read) AM_RANGE(0x2480, 0x249f) AM_WRITE_LEGACY(milliped_paletteram_w) AM_BASE_GENERIC(paletteram) - AM_RANGE(0x2500, 0x2502) AM_WRITE_LEGACY(coin_count_w) - AM_RANGE(0x2503, 0x2504) AM_WRITE_LEGACY(led_w) - AM_RANGE(0x2505, 0x2505) AM_WRITE_LEGACY(input_select_w) /* TBEN */ + AM_RANGE(0x2500, 0x2502) AM_WRITE(coin_count_w) + AM_RANGE(0x2503, 0x2504) AM_WRITE(led_w) + AM_RANGE(0x2505, 0x2505) AM_WRITE(input_select_w) /* TBEN */ AM_RANGE(0x2506, 0x2506) AM_WRITE_LEGACY(centiped_flip_screen_w) - AM_RANGE(0x2507, 0x2507) AM_WRITE_LEGACY(control_select_w) /* CNTRLSEL */ - AM_RANGE(0x2600, 0x2600) AM_WRITE_LEGACY(irq_ack_w) + AM_RANGE(0x2507, 0x2507) AM_WRITE(control_select_w) /* CNTRLSEL */ + AM_RANGE(0x2600, 0x2600) AM_WRITE(irq_ack_w) AM_RANGE(0x2680, 0x2680) AM_WRITE_LEGACY(watchdog_reset_w) AM_RANGE(0x2700, 0x2700) AM_DEVWRITE("earom", atari_vg_earom_device, ctrl_w) AM_RANGE(0x2780, 0x27bf) AM_DEVWRITE("earom", atari_vg_earom_device, write) @@ -788,9 +783,9 @@ static ADDRESS_MAP_START( warlords_map, AS_PROGRAM, 8, centiped_state ) AM_RANGE(0x0c00, 0x0c00) AM_READ_PORT("IN0") /* IN0 */ AM_RANGE(0x0c01, 0x0c01) AM_READ_PORT("IN1") /* IN1 */ AM_RANGE(0x1000, 0x100f) AM_DEVREADWRITE_LEGACY("pokey", pokey_r, pokey_w) - AM_RANGE(0x1800, 0x1800) AM_WRITE_LEGACY(irq_ack_w) - AM_RANGE(0x1c00, 0x1c02) AM_WRITE_LEGACY(coin_count_w) - AM_RANGE(0x1c03, 0x1c06) AM_WRITE_LEGACY(led_w) + AM_RANGE(0x1800, 0x1800) AM_WRITE(irq_ack_w) + AM_RANGE(0x1c00, 0x1c02) AM_WRITE(coin_count_w) + AM_RANGE(0x1c03, 0x1c06) AM_WRITE(led_w) AM_RANGE(0x4000, 0x4000) AM_WRITE_LEGACY(watchdog_reset_w) AM_RANGE(0x5000, 0x7fff) AM_ROM ADDRESS_MAP_END @@ -814,15 +809,15 @@ static ADDRESS_MAP_START( mazeinv_map, AS_PROGRAM, 8, centiped_state ) AM_RANGE(0x2001, 0x2001) AM_READ_PORT("IN1") AM_RANGE(0x2010, 0x2010) AM_READ_PORT("IN2") AM_RANGE(0x2011, 0x2011) AM_READ_PORT("IN3") - AM_RANGE(0x2020, 0x2020) AM_READ_LEGACY(mazeinv_input_r) + AM_RANGE(0x2020, 0x2020) AM_READ(mazeinv_input_r) AM_RANGE(0x2030, 0x2030) AM_DEVREAD("earom", atari_vg_earom_device, read) AM_RANGE(0x2480, 0x249f) AM_WRITE_LEGACY(mazeinv_paletteram_w) AM_BASE_GENERIC(paletteram) - AM_RANGE(0x2500, 0x2502) AM_WRITE_LEGACY(coin_count_w) - AM_RANGE(0x2503, 0x2504) AM_WRITE_LEGACY(led_w) - AM_RANGE(0x2505, 0x2505) AM_WRITE_LEGACY(input_select_w) + AM_RANGE(0x2500, 0x2502) AM_WRITE(coin_count_w) + AM_RANGE(0x2503, 0x2504) AM_WRITE(led_w) + AM_RANGE(0x2505, 0x2505) AM_WRITE(input_select_w) AM_RANGE(0x2506, 0x2506) AM_WRITE_LEGACY(centiped_flip_screen_w) - AM_RANGE(0x2580, 0x2583) AM_WRITE_LEGACY(mazeinv_input_select_w) - AM_RANGE(0x2600, 0x2600) AM_WRITE_LEGACY(irq_ack_w) + AM_RANGE(0x2580, 0x2583) AM_WRITE(mazeinv_input_select_w) + AM_RANGE(0x2600, 0x2600) AM_WRITE(irq_ack_w) AM_RANGE(0x2680, 0x2680) AM_WRITE_LEGACY(watchdog_reset_w) AM_RANGE(0x2700, 0x2700) AM_DEVWRITE("earom", atari_vg_earom_device, ctrl_w) AM_RANGE(0x2780, 0x27bf) AM_DEVWRITE("earom", atari_vg_earom_device, write) @@ -840,15 +835,15 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( bullsdrt_map, AS_PROGRAM, 8, centiped_state ) AM_RANGE(0x0000, 0x0fff) AM_ROM AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x6000) AM_READ_PORT("DSW1") - AM_RANGE(0x1080, 0x1080) AM_MIRROR(0x6000) AM_READ_LEGACY(centiped_IN0_r) + AM_RANGE(0x1080, 0x1080) AM_MIRROR(0x6000) AM_READ(centiped_IN0_r) AM_RANGE(0x1081, 0x1081) AM_MIRROR(0x6000) AM_READ_PORT("IN1") - AM_RANGE(0x1082, 0x1082) AM_MIRROR(0x6000) AM_READ_LEGACY(centiped_IN2_r) + AM_RANGE(0x1082, 0x1082) AM_MIRROR(0x6000) AM_READ(centiped_IN2_r) AM_RANGE(0x1200, 0x123f) AM_MIRROR(0x6000) AM_DEVREADWRITE("earom",atari_vg_earom_device, read, write) AM_RANGE(0x1280, 0x1280) AM_MIRROR(0x6000) AM_DEVWRITE("earom", atari_vg_earom_device, ctrl_w) AM_RANGE(0x1300, 0x1300) AM_MIRROR(0x6000) AM_READ_PORT("DSW2") AM_RANGE(0x1400, 0x140f) AM_MIRROR(0x6000) AM_WRITE_LEGACY(centiped_paletteram_w) AM_BASE_GENERIC(paletteram) - AM_RANGE(0x1481, 0x1481) AM_MIRROR(0x6000) AM_WRITE_LEGACY(bullsdrt_coin_count_w) - AM_RANGE(0x1483, 0x1484) AM_MIRROR(0x6000) AM_WRITE_LEGACY(led_w) + AM_RANGE(0x1481, 0x1481) AM_MIRROR(0x6000) AM_WRITE(bullsdrt_coin_count_w) + AM_RANGE(0x1483, 0x1484) AM_MIRROR(0x6000) AM_WRITE(led_w) AM_RANGE(0x1487, 0x1487) AM_MIRROR(0x6000) AM_WRITE_LEGACY(centiped_flip_screen_w) AM_RANGE(0x1500, 0x1500) AM_MIRROR(0x6000) AM_WRITE_LEGACY(watchdog_reset_w) AM_RANGE(0x1580, 0x1580) AM_MIRROR(0x6000) AM_NOP @@ -863,7 +858,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( bullsdrt_port_map, AS_IO, 8, centiped_state ) AM_RANGE(0x00, 0x00) AM_WRITE_LEGACY(bullsdrt_sprites_bank_w) AM_RANGE(0x20, 0x3f) AM_WRITE_LEGACY(bullsdrt_tilesbank_w) AM_BASE(m_bullsdrt_tiles_bankram) - AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READ_LEGACY(bullsdrt_data_port_r) AM_DEVWRITE_LEGACY("snsnd", sn76496_w) + AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_READ(bullsdrt_data_port_r) AM_DEVWRITE_LEGACY("snsnd", sn76496_w) ADDRESS_MAP_END |