summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/cabal.c
diff options
context:
space:
mode:
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
commit7dabd8b524510582d7f6ee96f430395d2f60cb78 (patch)
tree9641ea5111636c5963ac77e7130ace2773ddd1a3 /src/mame/drivers/cabal.c
parent62d9c8ba4fd4be6fc3225e8a3850526db7d78357 (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.c65
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 /* ??? */