diff options
author | Miodrag Milanovic <mmicko@gmail.com> | 2012-04-04 15:08:19 +0000 |
---|---|---|
committer | Miodrag Milanovic <mmicko@gmail.com> | 2012-04-04 15:08:19 +0000 |
commit | 7dabd8b524510582d7f6ee96f430395d2f60cb78 (patch) | |
tree | 9641ea5111636c5963ac77e7130ace2773ddd1a3 /src/mame/drivers/cabal.c | |
parent | 62d9c8ba4fd4be6fc3225e8a3850526db7d78357 (diff) |
MAME going modern part 5 (no whatsnew)
Tomorrow and next days just bug fixing from my side, no big changes
Diffstat (limited to 'src/mame/drivers/cabal.c')
-rw-r--r-- | src/mame/drivers/cabal.c | 65 |
1 files changed, 30 insertions, 35 deletions
diff --git a/src/mame/drivers/cabal.c b/src/mame/drivers/cabal.c index 92fd5a06ac9..1e609d6a2b6 100644 --- a/src/mame/drivers/cabal.c +++ b/src/mame/drivers/cabal.c @@ -61,60 +61,57 @@ static MACHINE_RESET( cabalbl ) /******************************************************************************************/ -static WRITE16_HANDLER( cabalbl_sndcmd_w ) +WRITE16_MEMBER(cabal_state::cabalbl_sndcmd_w) { - cabal_state *state = space->machine().driver_data<cabal_state>(); switch (offset) { case 0x0: - state->m_sound_command1 = data; + m_sound_command1 = data; break; case 0x1: /* ?? */ - state->m_sound_command2 = data & 0xff; + m_sound_command2 = data & 0xff; break; } } -static WRITE16_HANDLER( track_reset_w ) +WRITE16_MEMBER(cabal_state::track_reset_w) { - cabal_state *state = space->machine().driver_data<cabal_state>(); int i; static const char *const track_names[] = { "IN0", "IN1", "IN2", "IN3" }; for (i = 0; i < 4; i++) - state->m_last[i] = input_port_read(space->machine(), track_names[i]); + m_last[i] = input_port_read(machine(), track_names[i]); } -static READ16_HANDLER( track_r ) +READ16_MEMBER(cabal_state::track_r) { - cabal_state *state = space->machine().driver_data<cabal_state>(); switch (offset) { default: - case 0: return (( input_port_read(space->machine(), "IN0") - state->m_last[0]) & 0x00ff) | (((input_port_read(space->machine(), "IN2") - state->m_last[2]) & 0x00ff) << 8); /* X lo */ - case 1: return (((input_port_read(space->machine(), "IN0") - state->m_last[0]) & 0xff00) >> 8) | (( input_port_read(space->machine(), "IN2") - state->m_last[2]) & 0xff00); /* X hi */ - case 2: return (( input_port_read(space->machine(), "IN1") - state->m_last[1]) & 0x00ff) | (((input_port_read(space->machine(), "IN3") - state->m_last[3]) & 0x00ff) << 8); /* Y lo */ - case 3: return (((input_port_read(space->machine(), "IN1") - state->m_last[1]) & 0xff00) >> 8) | (( input_port_read(space->machine(), "IN3") - state->m_last[3]) & 0xff00); /* Y hi */ + case 0: return (( input_port_read(machine(), "IN0") - m_last[0]) & 0x00ff) | (((input_port_read(machine(), "IN2") - m_last[2]) & 0x00ff) << 8); /* X lo */ + case 1: return (((input_port_read(machine(), "IN0") - m_last[0]) & 0xff00) >> 8) | (( input_port_read(machine(), "IN2") - m_last[2]) & 0xff00); /* X hi */ + case 2: return (( input_port_read(machine(), "IN1") - m_last[1]) & 0x00ff) | (((input_port_read(machine(), "IN3") - m_last[3]) & 0x00ff) << 8); /* Y lo */ + case 3: return (((input_port_read(machine(), "IN1") - m_last[1]) & 0xff00) >> 8) | (( input_port_read(machine(), "IN3") - m_last[3]) & 0xff00); /* Y hi */ } } -static WRITE16_HANDLER( cabal_sound_irq_trigger_word_w ) +WRITE16_MEMBER(cabal_state::cabal_sound_irq_trigger_word_w) { - seibu_main_word_w(space,4,data,mem_mask); + seibu_main_word_w(&space,4,data,mem_mask); /* spin for a while to let the Z80 read the command, otherwise coins "stick" */ - device_spin_until_time(&space->device(), attotime::from_usec(50)); + device_spin_until_time(&space.device(), attotime::from_usec(50)); } -static WRITE16_HANDLER( cabalbl_sound_irq_trigger_word_w ) +WRITE16_MEMBER(cabal_state::cabalbl_sound_irq_trigger_word_w) { - cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE ); + cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE ); } @@ -128,13 +125,13 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, cabal_state ) AM_RANGE(0x80000, 0x801ff) AM_RAM_WRITE_LEGACY(cabal_background_videoram16_w) AM_BASE(m_videoram) AM_RANGE(0x80200, 0x803ff) AM_RAM AM_RANGE(0xa0000, 0xa0001) AM_READ_PORT("DSW") - AM_RANGE(0xa0008, 0xa000f) AM_READ_LEGACY(track_r) + AM_RANGE(0xa0008, 0xa000f) AM_READ(track_r) AM_RANGE(0xa0010, 0xa0011) AM_READ_PORT("INPUTS") - AM_RANGE(0xc0000, 0xc0001) AM_WRITE_LEGACY(track_reset_w) + AM_RANGE(0xc0000, 0xc0001) AM_WRITE(track_reset_w) AM_RANGE(0xc0040, 0xc0041) AM_WRITENOP /* ??? */ AM_RANGE(0xc0080, 0xc0081) AM_WRITE_LEGACY(cabal_flipscreen_w) AM_RANGE(0xe0000, 0xe07ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram) - AM_RANGE(0xe8008, 0xe8009) AM_WRITE_LEGACY(cabal_sound_irq_trigger_word_w) // fix coin insertion + AM_RANGE(0xe8008, 0xe8009) AM_WRITE(cabal_sound_irq_trigger_word_w) // fix coin insertion AM_RANGE(0xe8000, 0xe800d) AM_READWRITE_LEGACY(seibu_main_word_r, seibu_main_word_w) ADDRESS_MAP_END @@ -152,32 +149,30 @@ static ADDRESS_MAP_START( cabalbl_main_map, AS_PROGRAM, 16, cabal_state ) AM_RANGE(0xc0040, 0xc0041) AM_WRITENOP /* ??? */ AM_RANGE(0xc0080, 0xc0081) AM_WRITE_LEGACY(cabal_flipscreen_w) AM_RANGE(0xe0000, 0xe07ff) AM_RAM_WRITE_LEGACY(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram) - AM_RANGE(0xe8000, 0xe8003) AM_WRITE_LEGACY(cabalbl_sndcmd_w) + AM_RANGE(0xe8000, 0xe8003) AM_WRITE(cabalbl_sndcmd_w) AM_RANGE(0xe8004, 0xe8005) AM_READ_LEGACY(soundlatch2_word_r) - AM_RANGE(0xe8008, 0xe8009) AM_WRITE_LEGACY(cabalbl_sound_irq_trigger_word_w) + AM_RANGE(0xe8008, 0xe8009) AM_WRITE(cabalbl_sound_irq_trigger_word_w) ADDRESS_MAP_END /*********************************************************************/ -static READ8_HANDLER( cabalbl_snd2_r ) +READ8_MEMBER(cabal_state::cabalbl_snd2_r) { - cabal_state *state = space->machine().driver_data<cabal_state>(); - return BITSWAP8(state->m_sound_command2, 7,2,4,5,3,6,1,0); + return BITSWAP8(m_sound_command2, 7,2,4,5,3,6,1,0); } -static READ8_HANDLER( cabalbl_snd1_r ) +READ8_MEMBER(cabal_state::cabalbl_snd1_r) { - cabal_state *state = space->machine().driver_data<cabal_state>(); - return BITSWAP8(state->m_sound_command1, 7,2,4,5,3,6,1,0); + return BITSWAP8(m_sound_command1, 7,2,4,5,3,6,1,0); } -static WRITE8_HANDLER( cabalbl_coin_w ) +WRITE8_MEMBER(cabal_state::cabalbl_coin_w) { - coin_counter_w(space->machine(), 0, data & 1); - coin_counter_w(space->machine(), 1, data & 2); + coin_counter_w(machine(), 0, data & 1); + coin_counter_w(machine(), 1, data & 2); //data & 0x40? video enable? } @@ -206,10 +201,10 @@ static ADDRESS_MAP_START( cabalbl_sound_map, AS_PROGRAM, 8, cabal_state ) AM_RANGE(0x2000, 0x2fff) AM_RAM AM_RANGE(0x4000, 0x4000) AM_WRITE_LEGACY(soundlatch3_w) AM_RANGE(0x4002, 0x4002) AM_WRITE_LEGACY(soundlatch4_w) - AM_RANGE(0x4004, 0x4004) AM_WRITE_LEGACY(cabalbl_coin_w) + AM_RANGE(0x4004, 0x4004) AM_WRITE(cabalbl_coin_w) AM_RANGE(0x4006, 0x4006) AM_READ_PORT("COIN") - AM_RANGE(0x4008, 0x4008) AM_READ_LEGACY(cabalbl_snd2_r) - AM_RANGE(0x400a, 0x400a) AM_READ_LEGACY(cabalbl_snd1_r) + AM_RANGE(0x4008, 0x4008) AM_READ(cabalbl_snd2_r) + AM_RANGE(0x400a, 0x400a) AM_READ(cabalbl_snd1_r) AM_RANGE(0x400c, 0x400c) AM_WRITE_LEGACY(soundlatch2_w) AM_RANGE(0x400e, 0x400f) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w) AM_RANGE(0x6000, 0x6000) AM_WRITENOP /* ??? */ |