summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/finalizr.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/finalizr.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/finalizr.c')
-rw-r--r--src/mame/drivers/finalizr.c48
1 files changed, 22 insertions, 26 deletions
diff --git a/src/mame/drivers/finalizr.c b/src/mame/drivers/finalizr.c
index 93d5d2c42d7..6db218559fc 100644
--- a/src/mame/drivers/finalizr.c
+++ b/src/mame/drivers/finalizr.c
@@ -34,30 +34,27 @@ static TIMER_DEVICE_CALLBACK( finalizr_scanline )
}
-static WRITE8_HANDLER( finalizr_coin_w )
+WRITE8_MEMBER(finalizr_state::finalizr_coin_w)
{
- coin_counter_w(space->machine(), 0, data & 0x01);
- coin_counter_w(space->machine(), 1, data & 0x02);
+ coin_counter_w(machine(), 0, data & 0x01);
+ coin_counter_w(machine(), 1, data & 0x02);
}
-static WRITE8_HANDLER( finalizr_flipscreen_w )
+WRITE8_MEMBER(finalizr_state::finalizr_flipscreen_w)
{
- finalizr_state *state = space->machine().driver_data<finalizr_state>();
- state->m_nmi_enable = data & 0x01;
- state->m_irq_enable = data & 0x02;
+ m_nmi_enable = data & 0x01;
+ m_irq_enable = data & 0x02;
- flip_screen_set(space->machine(), ~data & 0x08);
+ flip_screen_set(machine(), ~data & 0x08);
}
-static WRITE8_HANDLER( finalizr_i8039_irq_w )
+WRITE8_MEMBER(finalizr_state::finalizr_i8039_irq_w)
{
- finalizr_state *state = space->machine().driver_data<finalizr_state>();
- device_set_input_line(state->m_audio_cpu, 0, ASSERT_LINE);
+ device_set_input_line(m_audio_cpu, 0, ASSERT_LINE);
}
-static WRITE8_HANDLER( i8039_irqen_w )
+WRITE8_MEMBER(finalizr_state::i8039_irqen_w)
{
- finalizr_state *state = space->machine().driver_data<finalizr_state>();
/* bit 0x80 goes active low, indicating that the
external IRQ being serviced is complete
@@ -65,12 +62,11 @@ static WRITE8_HANDLER( i8039_irqen_w )
*/
if ((data & 0x80) == 0)
- device_set_input_line(state->m_audio_cpu, 0, CLEAR_LINE);
+ device_set_input_line(m_audio_cpu, 0, CLEAR_LINE);
}
-static READ8_HANDLER( i8039_T1_r )
+READ8_MEMBER(finalizr_state::i8039_T1_r)
{
- finalizr_state *state = space->machine().driver_data<finalizr_state>();
/* I suspect the clock-out from the I8039 T0 line should be connected
here (See the i8039_T0_w handler below).
@@ -82,12 +78,12 @@ static READ8_HANDLER( i8039_T1_r )
based on the I8039 main xtal clock input frequency of 9.216MHz
*/
- state->m_T1_line++;
- state->m_T1_line %= 16;
- return (!(state->m_T1_line % 3) && (state->m_T1_line > 0));
+ m_T1_line++;
+ m_T1_line %= 16;
+ return (!(m_T1_line % 3) && (m_T1_line > 0));
}
-static WRITE8_HANDLER( i8039_T0_w )
+WRITE8_MEMBER(finalizr_state::i8039_T0_w)
{
/* This becomes a clock output at a frequency of 3.072MHz (derived
by internally dividing the main xtal clock input by a factor of 3).
@@ -100,7 +96,7 @@ static WRITE8_HANDLER( i8039_T0_w )
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, finalizr_state )
AM_RANGE(0x0001, 0x0001) AM_WRITEONLY AM_BASE(m_scroll)
AM_RANGE(0x0003, 0x0003) AM_WRITE_LEGACY(finalizr_videoctrl_w)
- AM_RANGE(0x0004, 0x0004) AM_WRITE_LEGACY(finalizr_flipscreen_w)
+ AM_RANGE(0x0004, 0x0004) AM_WRITE(finalizr_flipscreen_w)
// AM_RANGE(0x0020, 0x003f) AM_WRITEONLY AM_BASE(m_scroll)
AM_RANGE(0x0800, 0x0800) AM_READ_PORT("DSW3")
AM_RANGE(0x0808, 0x0808) AM_READ_PORT("DSW2")
@@ -109,10 +105,10 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, finalizr_state )
AM_RANGE(0x0812, 0x0812) AM_READ_PORT("P2")
AM_RANGE(0x0813, 0x0813) AM_READ_PORT("DSW1")
AM_RANGE(0x0818, 0x0818) AM_WRITE_LEGACY(watchdog_reset_w)
- AM_RANGE(0x0819, 0x0819) AM_WRITE_LEGACY(finalizr_coin_w)
+ AM_RANGE(0x0819, 0x0819) AM_WRITE(finalizr_coin_w)
AM_RANGE(0x081a, 0x081a) AM_DEVWRITE_LEGACY("snsnd", sn76496_w) /* This address triggers the SN chip to read the data port. */
AM_RANGE(0x081b, 0x081b) AM_WRITENOP /* Loads the snd command into the snd latch */
- AM_RANGE(0x081c, 0x081c) AM_WRITE_LEGACY(finalizr_i8039_irq_w) /* custom sound chip */
+ AM_RANGE(0x081c, 0x081c) AM_WRITE(finalizr_i8039_irq_w) /* custom sound chip */
AM_RANGE(0x081d, 0x081d) AM_WRITE_LEGACY(soundlatch_w) /* custom sound chip */
AM_RANGE(0x2000, 0x23ff) AM_RAM AM_BASE(m_colorram)
AM_RANGE(0x2400, 0x27ff) AM_RAM AM_BASE_SIZE(m_videoram, m_videoram_size)
@@ -132,9 +128,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, finalizr_state )
AM_RANGE(0x00, 0xff) AM_READ_LEGACY(soundlatch_r)
AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) AM_DEVWRITE_LEGACY("dac", dac_w)
- AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_WRITE_LEGACY(i8039_irqen_w)
- AM_RANGE(MCS48_PORT_T0, MCS48_PORT_T0) AM_WRITE_LEGACY(i8039_T0_w)
- AM_RANGE(MCS48_PORT_T1, MCS48_PORT_T1) AM_READ_LEGACY(i8039_T1_r)
+ AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_WRITE(i8039_irqen_w)
+ AM_RANGE(MCS48_PORT_T0, MCS48_PORT_T0) AM_WRITE(i8039_T0_w)
+ AM_RANGE(MCS48_PORT_T1, MCS48_PORT_T1) AM_READ(i8039_T1_r)
ADDRESS_MAP_END