diff options
Diffstat (limited to 'src/mame/drivers/snk68.c')
-rw-r--r-- | src/mame/drivers/snk68.c | 68 |
1 files changed, 32 insertions, 36 deletions
diff --git a/src/mame/drivers/snk68.c b/src/mame/drivers/snk68.c index c2bd1d225b2..43a0e9ea029 100644 --- a/src/mame/drivers/snk68.c +++ b/src/mame/drivers/snk68.c @@ -49,71 +49,67 @@ Notes: /******************************************************************************/ -static READ16_HANDLER( sound_status_r ) +READ16_MEMBER(snk68_state::sound_status_r) { - snk68_state *state = space->machine().driver_data<snk68_state>(); - return (state->m_sound_status << 8); + return (m_sound_status << 8); } -static WRITE8_HANDLER( sound_status_w ) +WRITE8_MEMBER(snk68_state::sound_status_w) { - snk68_state *state = space->machine().driver_data<snk68_state>(); - state->m_sound_status = data; + m_sound_status = data; } -static READ16_HANDLER( control_1_r ) +READ16_MEMBER(snk68_state::control_1_r) { - return (input_port_read(space->machine(), "P1") + (input_port_read(space->machine(), "P2") << 8)); + return (input_port_read(machine(), "P1") + (input_port_read(machine(), "P2") << 8)); } -static READ16_HANDLER( control_2_r ) +READ16_MEMBER(snk68_state::control_2_r) { - return input_port_read(space->machine(), "SYSTEM"); + return input_port_read(machine(), "SYSTEM"); } -static READ16_HANDLER( rotary_1_r ) +READ16_MEMBER(snk68_state::rotary_1_r) { - return (( ~(1 << input_port_read(space->machine(), "ROT1")) )<<8)&0xff00; + return (( ~(1 << input_port_read(machine(), "ROT1")) )<<8)&0xff00; } -static READ16_HANDLER( rotary_2_r ) +READ16_MEMBER(snk68_state::rotary_2_r) { - return (( ~(1 << input_port_read(space->machine(), "ROT2")) )<<8)&0xff00; + return (( ~(1 << input_port_read(machine(), "ROT2")) )<<8)&0xff00; } -static READ16_HANDLER( rotary_lsb_r ) +READ16_MEMBER(snk68_state::rotary_lsb_r) { - return ((( ~(1 << input_port_read(space->machine(), "ROT2")) ) <<4)&0xf000) - + ((( ~(1 << input_port_read(space->machine(), "ROT1")) ) )&0x0f00); + return ((( ~(1 << input_port_read(machine(), "ROT2")) ) <<4)&0xf000) + + ((( ~(1 << input_port_read(machine(), "ROT1")) ) )&0x0f00); } -static READ16_HANDLER( protcontrols_r ) +READ16_MEMBER(snk68_state::protcontrols_r) { - snk68_state *state = space->machine().driver_data<snk68_state>(); static const char *const portnames[] = { "P1", "P2", "SYSTEM" }; - return input_port_read(space->machine(), portnames[offset]) ^ state->m_invert_controls; + return input_port_read(machine(), portnames[offset]) ^ m_invert_controls; } -static WRITE16_HANDLER( protection_w ) +WRITE16_MEMBER(snk68_state::protection_w) { /* top byte is used, meaning unknown */ /* bottom byte is protection in ikari 3 and streetsm */ if (ACCESSING_BITS_0_7) { - snk68_state *state = space->machine().driver_data<snk68_state>(); - state->m_invert_controls = ((data & 0xff) == 0x07) ? 0xff : 0x00; + m_invert_controls = ((data & 0xff) == 0x07) ? 0xff : 0x00; } } -static WRITE16_HANDLER( sound_w ) +WRITE16_MEMBER(snk68_state::sound_w) { if (ACCESSING_BITS_8_15) { soundlatch_w(space, 0, data >> 8); - cputag_set_input_line(space->machine(), "soundcpu", INPUT_LINE_NMI, PULSE_LINE); + cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_NMI, PULSE_LINE); } } @@ -122,9 +118,9 @@ static WRITE16_HANDLER( sound_w ) static ADDRESS_MAP_START( pow_map, AS_PROGRAM, 16, snk68_state ) AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_RANGE(0x040000, 0x043fff) AM_RAM - AM_RANGE(0x080000, 0x080001) AM_READ_LEGACY(control_1_r) - AM_RANGE(0x080000, 0x080001) AM_WRITE_LEGACY(sound_w) - AM_RANGE(0x0c0000, 0x0c0001) AM_READ_LEGACY(control_2_r) + AM_RANGE(0x080000, 0x080001) AM_READ(control_1_r) + AM_RANGE(0x080000, 0x080001) AM_WRITE(sound_w) + AM_RANGE(0x0c0000, 0x0c0001) AM_READ(control_2_r) AM_RANGE(0x0c0000, 0x0c0001) AM_WRITE_LEGACY(pow_flipscreen16_w) // + char bank AM_RANGE(0x0e0000, 0x0e0001) AM_READNOP /* Watchdog or IRQ ack */ AM_RANGE(0x0e8000, 0x0e8001) AM_READNOP /* Watchdog or IRQ ack */ @@ -139,19 +135,19 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( searchar_map, AS_PROGRAM, 16, snk68_state ) AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_RANGE(0x040000, 0x043fff) AM_RAM - AM_RANGE(0x080000, 0x080005) AM_READ_LEGACY(protcontrols_r) /* Player 1 & 2 */ - AM_RANGE(0x080000, 0x080001) AM_WRITE_LEGACY(sound_w) - AM_RANGE(0x080006, 0x080007) AM_WRITE_LEGACY(protection_w) /* top byte unknown, bottom is protection in ikari3 and streetsm */ + AM_RANGE(0x080000, 0x080005) AM_READ(protcontrols_r) /* Player 1 & 2 */ + AM_RANGE(0x080000, 0x080001) AM_WRITE(sound_w) + AM_RANGE(0x080006, 0x080007) AM_WRITE(protection_w) /* top byte unknown, bottom is protection in ikari3 and streetsm */ AM_RANGE(0x0c0000, 0x0c0001) AM_WRITE_LEGACY(searchar_flipscreen16_w) - AM_RANGE(0x0c0000, 0x0c0001) AM_READ_LEGACY(rotary_1_r) /* Player 1 rotary */ - AM_RANGE(0x0c8000, 0x0c8001) AM_READ_LEGACY(rotary_2_r) /* Player 2 rotary */ - AM_RANGE(0x0d0000, 0x0d0001) AM_READ_LEGACY(rotary_lsb_r) /* Extra rotary bits */ + AM_RANGE(0x0c0000, 0x0c0001) AM_READ(rotary_1_r) /* Player 1 rotary */ + AM_RANGE(0x0c8000, 0x0c8001) AM_READ(rotary_2_r) /* Player 2 rotary */ + AM_RANGE(0x0d0000, 0x0d0001) AM_READ(rotary_lsb_r) /* Extra rotary bits */ AM_RANGE(0x0e0000, 0x0e0001) AM_READNOP /* Watchdog or IRQ ack */ AM_RANGE(0x0e8000, 0x0e8001) AM_READNOP /* Watchdog or IRQ ack */ // AM_RANGE(0x0f0000, 0x0f0001) AM_WRITENOP /* ?? */ AM_RANGE(0x0f0000, 0x0f0001) AM_READ_PORT("DSW1") AM_RANGE(0x0f0008, 0x0f0009) AM_READ_PORT("DSW2") - AM_RANGE(0x0f8000, 0x0f8001) AM_READ_LEGACY(sound_status_r) + AM_RANGE(0x0f8000, 0x0f8001) AM_READ(sound_status_r) AM_RANGE(0x100000, 0x107fff) AM_READWRITE_LEGACY(pow_spriteram_r, pow_spriteram_w) AM_BASE(m_spriteram) // only partially populated AM_RANGE(0x200000, 0x200fff) AM_RAM_WRITE_LEGACY(searchar_fg_videoram_w) AM_MIRROR(0x1000) AM_BASE(m_pow_fg_videoram) /* Mirror is used by Ikari 3 */ AM_RANGE(0x300000, 0x33ffff) AM_ROMBANK("bank1") /* Extra code bank */ @@ -163,7 +159,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, snk68_state ) AM_RANGE(0x0000, 0xefff) AM_ROM AM_RANGE(0xf000, 0xf7ff) AM_RAM - AM_RANGE(0xf800, 0xf800) AM_READ_LEGACY(soundlatch_r) AM_WRITE_LEGACY(sound_status_w) + AM_RANGE(0xf800, 0xf800) AM_READ_LEGACY(soundlatch_r) AM_WRITE(sound_status_w) ADDRESS_MAP_END static WRITE8_DEVICE_HANDLER( D7759_write_port_0_w ) |